[STM32F1] stm32基础篇——IIC实验

[复制链接]
 楼主| aizaixiyuanqian 发表于 2017-12-18 12:26 | 显示全部楼层
AT24C02  读操作
那么读取 AT24C02 的步骤是:
1) 发送起始信号
2) 发送写器件地址
3) 等待应答
4) 发送要读取的 AT24C02 的地址
5) 等待应答
6) 再发送其实信号
7) 发送读器件地址
8) 等待应答
9) 接收数据
10) 如果没有接收完数据,发送应答
11) 接收数据
12) 直到接收完数据,发送非应答
13) 发送结束信号

 楼主| aizaixiyuanqian 发表于 2017-12-18 12:27 | 显示全部楼层
读操作的具体代码
u8 AT24Cxx_ReadOneByte(u16 addr)
{
u8 temp=0;
I2C_Start();
if(EE_TYPE>AT24C16)
{
I2C_Send_Byte(0xA0);
I2C_Wait_Ack();
I2C_Send_Byte(addr>>8);  //发送数据地址高位
}
else
{
I2C_Send_Byte(0xA0+((addr/256)<<1));//器件地址+数据地址
}
I2C_Wait_Ack();
I2C_Send_Byte(addr%256);//双字节是数据地址低位
//单字节是数据地址低位
I2C_Wait_Ack();
I2C_Start();
I2C_Send_Byte(0xA1);
I2C_Wait_Ack();
temp=I2C_Read_Byte(0); // 0 代表 NACK
I2C_NAck();
I2C_Stop();
return temp;
}

 楼主| aizaixiyuanqian 发表于 2017-12-18 12:28 | 显示全部楼层
程序源码请到主主题去下载,好了关于AT24C02   IIC就到这里。
 楼主| aizaixiyuanqian 发表于 2017-12-18 12:29 | 显示全部楼层
错误地方欢迎指正
 楼主| aizaixiyuanqian 发表于 2018-1-22 13:23 | 显示全部楼层
tianya2010 发表于 2018-1-22 12:08
推荐一款USB转SPI,IIC调试软件https://pan.baidu.com/s/1qXIwp5q

不错,感谢分享。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部