IIC是蓝桥杯常考的重点,今天我们就通过pcf8591针对IIC总线的读取与写入的规律做下总结:
1.写操作
首先我们要开启总线,开启总线之后就可以给IIC总线发送一个字节,这个字节通常是IIC总线上设备的地址并包含对设备进行的是读操作还是写操作的信息。例如0x90就是对pcf8591进行写操作,0x91就是对pcf8591进行读操作...发送完设备信息后我们需等待设备的回应,等待后就可以对设备写入数据了。写入数据后,在等待下设备的回应,就可以停止总线了。(代码如下)
IIC_Start(); //开启总线
IIC_SendByte(0x90); //发送设备地址
IIC_WaitAck(); //等待设备作出回应
IIC_SendByte(3); //写入数据
IIC_WaitAck(); //等待设备作出回应
IIC_Stop(); //关闭总线
其实这个过程及就像我们与他人对话,你需要先叫下对方的名字,在对方做出回应后,再对他交代些事情,在等他作出回应表示自己了解了就可以停止对话了。
2.读操作
与写操作相同,读操作也需要下开启总线,接着向设备发送读操作字节表示自己要开始进行读操作,接着就是等待回应,接下来的一步与写操作不同,就是将读到的数据赋给你所定义的变量,注意定义的变量尽量与函数返回值的类型相同,不然有可能会溢出导致数据处理不到位;接下来的步骤与写操作相似。(代码如下)
unsigned char dat;
IIC_Start();
IIC_SendByte(0x91);
IIC_WaitAck();
dat = IIC_RecByte();
IIC_SendAck(0);
IIC_Stop();
以上就是我对蓝桥杯中IIC总线的的读写规律所有总结了,如有不当之处,欢迎各位朋友前来指正,同时也祝各位朋友在蓝桥杯比赛中斩获佳绩!