本人菜鸟,初学
STM32F4 在调试I2C程序时,用I2C1作为主发送,I2C2作为从接收,进行自发自收,可是程序一直卡在while(!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));上,一直找不出原因,求高手指导
以下是全部代码
#include"stm32F4xx.h"
void RCC_Configura
tion(void);
void GPIO_Configuration(void);
void I2C_Configuration(void);
void I2C_start(I2C_TypeDef* I2Cx, uint8_t address, uint8_t direction);
void I2C_write(I2C_TypeDef* I2Cx, uint8_t data);
uint8_t I2C_read_ack(I2C_TypeDef* I2Cx);
uint8_t I2C_read_nack(I2C_TypeDef* I2Cx);
void I2C_stop(I2C_TypeDef* I2Cx);
void Delay(int nCount);
int main(void)
{
RCC_Configuration();
GPIO_Configuration();
I2C_Configuration();
while(1)
{ int data=0;
I2C_start(I2C1,0x300;c2--);
};
}
在配置I2C的接口地址时,向I2C_OAR1寄存器写的地址是自己随便确定的吗?只要保证与I2C设备不重复即可?
一周热门 更多>