发新帖我要提问
12
返回列表
打印
[STM32F1]

stm32基础篇——IIC实验

[复制链接]
楼主: aizaixiyuanqian
手机看帖
扫描二维码
随时随地手机跟帖
21
aizaixiyuanqian|  楼主 | 2017-12-18 12:26 | 只看该作者 回帖奖励 |倒序浏览
AT24C02  读操作
那么读取 AT24C02 的步骤是:
1) 发送起始信号
2) 发送写器件地址
3) 等待应答
4) 发送要读取的 AT24C02 的地址
5) 等待应答
6) 再发送其实信号
7) 发送读器件地址
8) 等待应答
9) 接收数据
10) 如果没有接收完数据,发送应答
11) 接收数据
12) 直到接收完数据,发送非应答
13) 发送结束信号

使用特权

评论回复
22
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;
}

使用特权

评论回复
23
aizaixiyuanqian|  楼主 | 2017-12-18 12:28 | 只看该作者
程序源码请到主主题去下载,好了关于AT24C02   IIC就到这里。

使用特权

评论回复
24
aizaixiyuanqian|  楼主 | 2017-12-18 12:29 | 只看该作者
错误地方欢迎指正

使用特权

评论回复
25
aizaixiyuanqian|  楼主 | 2018-1-22 13:23 | 只看该作者
tianya2010 发表于 2018-1-22 12:08
推荐一款USB转SPI,IIC调试软件https://pan.baidu.com/s/1qXIwp5q

不错,感谢分享。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则