初级会员

- 积分
- 58
- 金钱
- 58
- 注册时间
- 2021-12-17
- 在线时间
- 24 小时
|
1金钱
学了IIC的例程,有很多疑惑的地方。比如用IIC往AT24C02芯片里面读写信息,主程序里面似乎没有判断是否收到应答的程序啊。经过反复观看学习才发现,原子哥的IIC教程是说的是,用程序模拟IIC通信····那么我有疑问请教各位大佬。
(1)24C02芯片是叫做EEPROM芯片,是带电可擦可编程只读存储器,我理解大概就相当于硬盘吧。程序仅仅是烧录到STM32里面,但是可以与24C02芯片读写信息。通信双方应该有同一套程序或者协议才能识别交流啊,那么是不是说,24C02芯片里面也早就烧录过与IIC有关的程序啊?因为这样才能识别SDA线和SCL线的变化,才能交互信息呀,对不?
(2)我看了一下STM中文手册,IIC是有很多寄存器的,但这个程序似乎没有关联到寄存器,只是模拟IIC的通信规则。所以例子里面并没有真正用到STM32里IIC的功能模块,是吧?仅仅是因为24C02芯片里有与IIC有关的程序,所以原子哥的程序才用手动控制高低电平,模拟了IIC的通信规则,才能被24C02识别并且通信,是吗?
(3)假如我想做两个STM32单片机之间的通信的话,其实,我既可以研究一下真正IIC寄存器的功能,也可以用原子哥模拟IIC通讯规则的程序,甚至可以随意找两个IO口,两个STM32互相连接上,写一个通讯协议也行,就好比程序里面SDA线和SCL线一样,是不?
|
|