PCF8591的I2C是如何驱动的

2019-07-16 05:02发布

void Start_I2c()
{
  SDA=1;         /*发送起始条件的数据信号*/
  _Nop();
  SCL=1;
  _Nop();        /*起始条件建立时间大于4.7us,延时*/
  _Nop();
  _Nop();
  _Nop();
  _Nop();   
  SDA=0;         /*发送起始信号*/
  _Nop();        /* 起始条件锁定时间大于4μs*/
  _Nop();
  _Nop();
  _Nop();
  _Nop();      
  SCL=0;       /*钳住I2C总线,准备发送或接收数据 */
  _Nop();
  _Nop();
}
_Nop()在这里的作用是延时吗?为什么不用delay延时?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
jy02326166
1楼-- · 2019-07-17 03:23
和AT24C02差不多  只是读寄存器的地址不同 我也是看参考程序+DATASHEET才看懂的
w757774247
2楼-- · 2019-07-17 09:22
1051747376
3楼-- · 2019-07-17 14:56
1.我想你可能把一个.h文件误认为了是一个工程文件,因为程序比较长,所以作者把程序分模块写了。2.PCF8591是IIC协议通信的,不是说先驱动IIC。
ZOU753951
4楼-- · 2019-07-17 16:05
学单片机的人
5楼-- · 2019-07-17 17:51
 精彩回答 2  元偷偷看……
应电初学者
6楼-- · 2019-07-17 17:52
正在练习,看到大家发言就好了呵呵

一周热门 更多>