发布网友 发布时间:2022-04-30 18:56
共4个回答
热心网友 时间:2023-10-09 15:05
这种东西不要纠结,就是按照iic协议用单片机模拟了要求的时序,实属蛋疼,在实际设计中一般会选择硬件支持iic的芯片。这个就当成单片机C语言的练习就好了,完成的功能就是用单片机的IO口模拟了IIC的读写时序。热心网友 时间:2023-10-09 15:05
51单片机I2C总线问题,求解释这个函数的开头几句代码是啥意思?热心网友 时间:2023-10-09 15:06
你好:热心网友 时间:2023-10-09 15:06
肯定要啊!不要就不符合时序要求了啊!
24C02读一个字节的操作是:
1、发起始信号
2、发从机地址(24C02的地址,高四位固定为1010,最后一位为0,即写,其它三位是地址。 24C02的地址由它的引脚A2/A1/A0硬件接法决定)
3、发芯片内部存储地址(从哪个地址读出)
4、发起始信号
5、发从机地址(区别于步骤2:最后一位变为1,即读)
6、读数据
7、发停止信号
注意:这里每一个字节后面都会跟着一个来自于从机的应答位'0'(也就是你上面的那个respons函数,这里没有对应答信号进行处理,但是是必须的,因为IIC的通信时序一定要遵循)。
具体的内容资料还是来自于24C02的芯片手册,可以字节查查看。如下图: