此帖出自微控制器 MCU论坛
最新回复
昨天用手机回帖居然乱码了……
我是说一般我会定义几个宏,SET_SCL SET_SDA RESET_SCL RESET_SDA SCL_1 SDA_1
其中SET作用是置高,一般将管脚设置成带上拉的输入
RESET作用是置低,将管脚设置成输出低
SDA_1和SCL_1是判断语句,用法一般是if(SDA_1),意思几近于“if(SDA==1)”,只需要一个二值的真假作为结论就可以了,用于判断管脚电平。
RESET之后一般可以认为管脚立即变为低电平了,SET之后则还需要再次通过读取管脚电平判断是否已经将管脚置高,因为其他设备可能拉住总线使其电平不能即时生效。
任何设备都应该随时监控总线电平,因为总线电平是所有设备共同作用的结果,不是其中任何一个设备所能单独控制的。
满足以上条件之后,模拟I2C的程序编写就容易多了,直接参考时序图就可以了。不过需要注意一点,那就是弄清楚什么时序是主从哪一方发出的,搞清楚这个,I2C就能信手掂来了。
详情
回复
发表于 2015-6-13 12:56
| ||
|
||
遇到同样的问题
此帖出自微控制器 MCU论坛
| ||
|
||
| |
|
|
此帖出自微控制器 MCU论坛
点评 | ||
|
||
此帖出自微控制器 MCU论坛
| ||
|
||
曾经的版主且威望大于2000,或对EEWORLD论坛有突出贡献的坛友
EEWorld Datasheet 技术支持
EEWorld订阅号
EEWorld服务号
汽车开发圈
机器人开发圈