<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > HOLTEK 主I2C的源程序代碼

          HOLTEK 主I2C的源程序代碼

          作者: 時間:2011-05-17 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/150740.htm

          調(diào)用的
          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);


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

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

          /***********************************************
          I2C總線發(fā)送數(shù)據(jù)時的ACK應(yīng)答
          ***********************************************/
          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總線接收數(shù)據(jù)時的NO ACK應(yīng)答
          ***********************************************/
          void SendNotAck(void)
          {
          SDA=1 ;
          delay_5us();
          SCL=1 ;
          delay_5us();
          SCL=0;
          }

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

          /***********************************************
          寫1個字節(jié)的函數(shù)
          ***********************************************/
          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 下一頁

          關(guān)鍵詞: 代碼 源程序 I2C HOLTEK

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();