1.STM32CubeMX配置
就是将PB6.PB7设置为输出模式
2.代码
把i2c通信的驱动文件放进去,在头文件位置添加I2C的头文件
编写读写代码
void x24c02_write(unsigned char address,unsigned char info)
{
I2CStart();
I2CSendByte(0xa0);
I2CWaitAck();
I2CSendByte(address);
I2CWaitAck();
I2CSendByte(info);
I2CWaitAck();
I2CStop();
}
uint8_t x24c02_read(uint8_t address)
{
unsigned char Val;
I2CStart();
I2CSendByte(0Xa0);
I2CWaitAck();
I2CSendByte(address);
I2CWaitAck();
I2CStop();
I2CStart();
I2CSendByte(0xa1);
I2CWaitAck();
Val = I2CReceiveByte();
I2CStop();
return (Val);
}
uint8_t Num;
Num = x24c02_read(0X02);
x24c02_write(0X02,++Num);
使用的时候注意要在读写函数后面添加延时函数。
处理第一次上电问题
void Write(unsigned char address,unsigned char info)
{
I2CStart();
I2CSendByte(0Xa0);
I2CWaitAck();
I2CSendByte(address);
I2CWaitAck();
I2CSendByte(info);
I2CWaitAck();
I2C

文章介绍了如何使用STM32CubeMX配置PB6和PB7引脚为输出模式,以及如何实现I2C通信的读写功能。提供了x24c02_write和x24c02_read函数用于写入和读取数据,并强调了在读写操作后添加延时函数的重要性。此外,还详细说明了在系统首次启动时对特定地址的检查和初始化过程。
最低0.47元/天 解锁文章

2035

被折叠的 条评论
为什么被折叠?



