关于I2C问题:两个函数有什么不同功能,两个不都是写入函数吗?

2019-07-15 16:46发布

  1. bit WriteCurrent(unsigned char y)
  2. {
  3.         unsigned char i;
  4.         bit ack_bit;            
  5.         for(i = 0; i < 8; i++)               
  6.         {
  7.             SDA = (bit)(y&0x80);   
  8.                                                
  9.                 _nop_();            
  10.            SCL = 1;               
  11.            _nop_();            
  12.           _nop_();               
  13.                
  14.                   SCL = 0;            
  15.                 y <<= 1;         
  16.         }
  17.         SDA = 1;                       
  18.                         
  19.         _nop_();         
  20.         _nop_();         
  21.         SCL = 1;      
  22.         _nop_();      
  23.         _nop_();      
  24.         _nop_();      
  25.         _nop_();      
  26.         ack_bit = SDA;
  27.                      
  28.         SCL = 0;      
  29.         return  ack_bit;                       
  30. }
  31. 通过按位“与”运算将最高位数据送到S。
  32. void WriteSet(unsigned char add, unsigned char dat)
  33. {
  34.         start();            
  35.         WriteCurrent(OP_WRITE);
  36.         WriteCurrent(add);     
  37.         WriteCurrent(dat);     
  38.         stop();               
  39.         delaynms(4);            
  40. }
复制代码这两个函数有什么不同功能,两个不都是写入函数吗?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。