微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > PCF8591的I2C是如何驱动的

PCF8591的I2C是如何驱动的

时间:10-02 整理:3721RD 点击:
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延时?

谢谢了,

还有个问题,就是在用PCF8591编程时,要先驱动I2C,给I2C编完程序后,在AD编程时就可以直接调用I2C里的子程序吗?为什么是分两个工程编程,可以在一个工程中完成吗?

帮忙回答一下吧,小弟正在学单片机,有些东西真的不是很明白啊。

用写和读吧

什么意思?

和AT24C02差不多  只是读寄存器的地址不同 我也是看参考程序+DATASHEET才看懂的

1.我想你可能把一个.h文件误认为了是一个工程文件,因为程序比较长,所以作者把程序分模块写了。2.PCF8591是IIC协议通信的,不是说先驱动IIC。

可以的                                    

正在练习,看到大家发言就好了呵呵

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top