在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 嵌入式系統 > 設計應用 > HOLTEK 主I2C的源程序代碼

      HOLTEK 主I2C的源程序代碼

      作者: 時間:2011-05-17 來源:網絡 收藏

      本文引用地址:http://www.biyoush.com/article/150740.htm

      調用的
      case C_READ+C_:
      return_buf[2] = comm_buf[4]; //
      read(comm_buf[3],comm_buf[4],return_buf[3]);
      break;

      case C_WRITE+C_:
      return_buf[2] = 0;
      write(comm_buf[3],comm_buf[4],comm_buf[5]);
      break;


      主I2C的

      #define CHIP_ADDR 0x78

      unsigned char cread(uchar addr);
      void cwrite(uchar addr,uchar dat);
      void read(uchar addr, uchar num, uchar * buf);
      void write(uchar addr, uchar num,uchar * buf);
      void i2c_start(void);
      void i2c_stop(void);
      uchar WaitAck(void);
      void SendNotAck(void);
      void SendtAck(void);
      void delay_5us(void);
      void delay(unsigned char num);
      void i2c_writ2(unsigned char dat);
      uchar i2c_rea2(bit ack);


      /***********************************************
      總線啟動函數
      ***********************************************/
      void i2c_start()
      {
      SCL=1;delay_5us();
      SDA=1;delay_5us();
      SDA=0;delay_5us();delay_5us();
      SCL=0;delay_5us();
      }

      /***********************************************
      總線停止函數
      ***********************************************/
      void i2c_stop()
      {
      SCL=0;
      SDA=0;delay_5us();
      SCL=1;delay_5us();
      SDA=1;delay_5us();
      }

      /***********************************************
      I2C總線發(fā)送數據時的ACK應答
      ***********************************************/
      uchar WaitAck(void)
      {
      uchar errtime=255; //因故障接收方無ACK 超時值為255
      SDA=1 ;delay_5us();
      SCL=1 ;delay_5us();
      while(SDA)
      {
      if (--errtime == 0)
      {
      i2c_stop();
      return 0;
      }
      }
      SCL=0;
      return 1;
      }

      /***********************************************
      I2C總線接收數據時的NO ACK應答
      ***********************************************/
      void SendNotAck(void)
      {
      SDA=1 ;
      delay_5us();
      SCL=1 ;
      delay_5us();
      SCL=0;
      }

      /***********************************************
      I2C總線接收數據時的ACK應答
      ***********************************************/
      void SendtAck(void)
      {
      SDA=0 ;
      delay_5us();
      SCL=1 ;
      delay_5us();
      SCL=0;
      }

      /***********************************************
      寫1個字節(jié)的函數
      ***********************************************/
      void i2c_writ2(uchar dat)
      {
      uchar i;
      for(i=0;i8;i++)
      {
      // SDA=1;
      if((dat0x80)==0x00) SDA=0;
      else SDA=1;
      SCL=1;delay_5us();SCL=0;
      dat=1;
      }


      上一頁 1 2 下一頁

      關鍵詞: 代碼 源程序 I2C HOLTEK

      評論


      相關推薦

      技術專區(qū)

      關閉