软件I2C的引脚可以任意更改,而硬件I2C的引脚不能随意更改,要按照引脚使用手册来看。
因为硬件I2C有相关库函数了,就不用像软件I2C一样自己编写底层函数,所以就要把原来软件I2C用到的Myi2c的.c以及.h文件移除,具体做法是现在工程移除,再到文件夹移除,保证工程目录以及文件夹目录的数值是一致的。
步骤:
1.开启I2C以及GPIO引脚时钟
2.把I2C对应的GPIO口配置为复用开漏输出
3.使用结构体,对I2C进行配置
4.I2C_cmd使能I2C
void I2C_GenerateSTART(I2C_TypeDef* I2Cx, FunctionalState NewState);//生成起始条件,也就是把CR寄存器的某一位置1产生起始条件
void I2C_GenerateSTOP(I2C_TypeDef* I2Cx, FunctionalState NewState);//产生停止位
|