《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > HOLTEK 主I2C的源程序代碼

HOLTEK 主I2C的源程序代碼

2009-01-14
關鍵詞: Holtek 源代碼

HOLTEK 主I2C的源程序代碼

調用的代碼
             case C_READ+C_I2C:
                 return_buf[2] = comm_buf[4];    //
                 read(comm_buf[3],comm_buf[4],&return_buf[3]);
                 break;
                
             case C_WRITE+C_I2C:
                 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總線發送數據時的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個字節的函數
 ***********************************************/
 void i2c_writ2(uchar dat)
 {
     uchar i;
     for(i=0;i<8;i++)
     {
 //        SDA=1;
         if((dat&0x80)==0x00) SDA=0;
         else SDA=1;
         SCL=1;delay_5us();SCL=0;
         dat<<=1;
     }
     SDA=1;
     SCL=1;delay_5us();
     SCL=0;delay_5us();
 }

 /***********************************************
     讀當前1字節數據函數
 ***********************************************/
 unsigned char cread(uchar addr)
 {
     unsigned char i;
     i2c_start();
     i2c_writ2(CHIP_ADDR);        // Write
     i2c_writ2(addr);
     i2c_start();                // Start
     i2c_writ2(CHIP_ADDR+1);        // Read
     i = i2c_rea2(0);
     i2c_stop();
     delay(10);
     return(i);
 }

 /***********************************************
     寫當前1字節數據函數
 ***********************************************/
 void cwrite(uchar addr,uchar dat)
 {
     i2c_start();
     i2c_writ2(CHIP_ADDR);        // Write
     i2c_writ2(addr);
     i2c_writ2(dat);
     i2c_stop();
     delay(30);
 }

 /***********************************************
     讀數據
 ***********************************************/
 void read(uchar addr, uchar num, uchar * buf)
 {
     i2c_start();
     i2c_writ2(CHIP_ADDR);        // Write
     i2c_writ2(addr);
     i2c_start();                // Start
     i2c_writ2(CHIP_ADDR+1);        // Read
     for( ; num>0 ; num--)        // 個數
     {
         *buf++ = i2c_rea2(1);    // 讀
     }
     i2c_stop();
     delay(10);
 }

 /***********************************************
     寫數據
 ***********************************************/
 void write(uchar addr, uchar num,uchar * buf)
 {
     i2c_start();
     i2c_writ2(CHIP_ADDR);        // Write
     i2c_writ2(addr);
     for( ; num>0 ; num--)        // 個數
     {
         i2c_writ2(*buf++);        // 寫
     }
     i2c_stop();
     delay(30);
 }

 /***********************************************
     讀1字節函數
 ***********************************************/
 uchar i2c_rea2(bit ack)
 {
     uchar i,j;
     j=0x00;
     SDA=1;
     for(i=0;i<8;i++)
     {
         SCL=1;
         j=j<<1;
         if(SDA) j|=0x01;
         SCL=0;delay_5us();
     }
     if(ack) SDA=0;
     SCL=1;delay_5us();
     SCL=0;delay_5us();
     return j;
 }

 /***********************************************
     延時程序
 ***********************************************/
 void delay_5us()
 {
     uchar i;
     //for(i=0;i<2;i++){}
     for(i=0;i<4;i++)
     {
     }
 }

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产视频一区二区在线观看| 国产精品专区第二| 亚洲一区二区日本| 亚洲大片免费看| 亚洲精品一区二区三区不| 亚洲激情视频| 国产一区二三区| 欧美在线短视频| 亚洲第一区中文99精品| 久久综合精品国产一区二区三区| 国产乱子伦一区二区三区国色天香| 久久久久久久激情视频| 亚洲欧洲另类| 亚洲一区三区视频在线观看| 亚洲人成亚洲人成在线观看图片| 亚洲在线成人精品| 欧美激情视频一区二区三区不卡| 国产精品欧美日韩久久| 在线精品视频一区二区| 亚洲精品一区二区网址| 欧美韩国日本一区| 国产一本一道久久香蕉| 久久综合九九| 亚洲欧洲免费视频| 欧美v国产在线一区二区三区| 欧美在线不卡视频| 欧美大秀在线观看| 国产精品视频男人的天堂| 国产农村妇女毛片精品久久麻豆| 在线国产精品播放| 亚洲一区亚洲二区| 久久久最新网址| 亚洲一区二三| 亚洲五月六月| 美女性感视频久久久| 亚洲欧美国产一区二区三区| 久久裸体视频| 国产亚洲欧美aaaa| 久久爱www久久做| 欧美大胆人体视频| 国产精品久久久久aaaa樱花| 一本色道久久综合亚洲精品婷婷| 亚洲人成人77777线观看| 久久久亚洲午夜电影| 亚洲影院污污.| 久久婷婷国产麻豆91天堂| 欧美亚洲动漫精品| 欧美 日韩 国产精品免费观看| 亚洲欧美另类国产| 欧美激情aaaa| 午夜精品福利视频| 午夜精品在线| 美女999久久久精品视频| 国内外成人在线| 亚洲视频一区二区在线观看| 国产日韩一级二级三级| 国产精品大片免费观看| 午夜在线a亚洲v天堂网2018| 欧美成人免费在线| 亚洲成色最大综合在线| 午夜精品免费视频| 精品不卡一区二区三区| 久久国内精品自在自线400部| 蜜臀av在线播放一区二区三区| 欧美新色视频| 另类酷文…触手系列精品集v1小说| 欧美午夜剧场| 欧美一区三区二区在线观看| 一区二区在线视频| 久久精品国产第一区二区三区| 欧美二区视频| 欧美一区二区三区男人的天堂| 欧美在线观看你懂的| 亚洲女爱视频在线| 国产又爽又黄的激情精品视频| 久久人人爽人人| 亚洲观看高清完整版在线观看| 亚洲日产国产精品| 国产精品日韩久久久| 久久久久国产精品人| 在线观看视频日韩| 亚洲精品一品区二品区三品区| 免费成人黄色片| 激情亚洲一区二区三区四区| 99精品99久久久久久宅男| 亚洲精品乱码久久久久久蜜桃91| 91久久精品国产91性色| 男人的天堂亚洲在线| 国产精品一区二区男女羞羞无遮挡| 欧美日精品一区视频| 亚洲欧美日本国产专区一区| 亚洲精华国产欧美| 激情一区二区| 欧美另类极品videosbest最新版本| 伊人久久久大香线蕉综合直播| 亚洲六月丁香色婷婷综合久久| 久久久精品午夜少妇| 久久国产精品久久久久久久久久| 精品69视频一区二区三区| 国产精品综合av一区二区国产馆| 久久久久久夜精品精品免费| 宅男噜噜噜66一区二区66| 国产日本欧美一区二区三区| 国产精品福利片| 国产亚洲一级| 国产精品国产a级| 亚洲欧洲一区二区在线播放| 亚洲黄色免费电影| 樱桃国产成人精品视频| 伊人成综合网伊人222| 亚洲国产成人tv| 国内精品一区二区| 欧美日韩亚洲一区| 国产精品手机在线| 红桃视频国产一区| 亚洲一区二区在线| 欧美黄色小视频| 欧美中文在线观看国产| 久色婷婷小香蕉久久| 亚洲人精品午夜在线观看| 欧美日本一道本| 欧美日韩另类国产亚洲欧美一级| 欧美久久久久免费| 国产一区在线免费观看| 国产日韩欧美三区| 国产日韩精品在线播放| 99视频一区| 亚洲国产精品专区久久| 一区精品在线播放| 韩曰欧美视频免费观看| 欧美极品在线视频| 亚洲精品美女免费| 亚洲女人小视频在线观看| 亚洲视频网在线直播| 在线一区二区三区做爰视频网站| 国产精品一区二区女厕厕| 中日韩美女免费视频网站在线观看| 日韩一区二区电影网| 最新中文字幕亚洲| 欧美日本簧片| 亚洲精品视频免费| 欧美少妇一区二区| 久久蜜桃av一区精品变态类天堂| av成人福利| 欧美国产综合一区二区| 欧美成人国产一区二区| 每日更新成人在线视频| 免费视频一区| 久久精品夜色噜噜亚洲aⅴ| 亚洲精品国产精品国产自| 国产综合色产在线精品| 在线观看日韩av先锋影音电影院| 亚洲韩国日本中文字幕| 性欧美大战久久久久久久免费观看| 日韩亚洲欧美成人| 一区二区三区在线视频播放| 久久亚洲私人国产精品va媚药| 日韩一区二区精品葵司在线| 一本久久a久久免费精品不卡| 欧美激情按摩在线| 先锋影音久久| 午夜视频在线观看一区| 国精品一区二区| 亚洲免费在线观看视频| 亚洲激情一区二区| 亚洲电影在线观看| 亚洲欧洲av一区二区三区久久| 亚洲一区二区欧美| 亚洲伦理自拍| 欧美一区二区视频在线| 国内精品久久久久久久影视麻豆| 尤物在线观看一区| 欧美巨乳在线观看| 欧美高清自拍一区| 国产精品vvv| 欧美日韩日本视频| 国产欧美精品一区二区色综合| 国产精品日韩欧美综合| 国产精品久久网| 欧美一区午夜视频在线观看| 欧美日本一区二区视频在线观看| 久久视频免费观看| 国产精品久久久久av| 一级日韩一区在线观看| 欧美黄色片免费观看| 亚洲黄色影片| 亚洲婷婷国产精品电影人久久| 国产精品二区二区三区| 欧美在线欧美在线| 在线不卡视频| 久久综合久久综合久久综合| 日韩亚洲精品视频| 欧美激情视频网站| 一区在线观看视频| 久久久久一本一区二区青青蜜月| 国产精品成人一区二区| 玖玖玖免费嫩草在线影院一区| 国产精品国产三级国产专播品爱网| 黑人操亚洲美女惩罚| 亚洲欧美日韩国产精品| 91久久精品一区| 亚洲丶国产丶欧美一区二区三区| 91久久精品国产91久久性色tv| 久久久久久久久久码影片| 亚洲视频免费看| 亚洲一区久久| 久久只精品国产| 亚洲精品一区二区三区在线观看| 蜜桃av一区| 亚洲高清毛片| 欧美日本一区二区高清播放视频| 亚洲综合导航| 亚洲国产一区二区视频| 国产日韩欧美黄色| 国产精品试看| 国产欧美日韩视频一区二区| 欧美电影打屁股sp| 亚洲视频综合在线| 亚洲日本va午夜在线电影| 亚洲美女免费视频| 欧美日韩卡一卡二| 国产在线国偷精品产拍免费yy| 亚洲精品国产品国语在线app| 一区二区国产在线观看| 国产精品美女久久久久久久| 狠狠干综合网| 国产丝袜美腿一区二区三区| 亚洲国产女人aaa毛片在线| 欧美日韩一二区| 欧美一区永久视频免费观看| 欧美另类极品videosbest最新版本| 一本色道**综合亚洲精品蜜桃冫| 亚洲精品小视频| 亚洲第一区在线观看| 欧美日韩一级黄| 欧美日本在线| 国产精品女人毛片| 日韩视频免费在线| aⅴ色国产欧美| 国内外成人免费激情在线视频网站| 国产精品二区影院| 9色porny自拍视频一区二区| 9i看片成人免费高清| 中文精品视频一区二区在线观看| 一区二区三区 在线观看视频| 91久久国产综合久久| 欧美久久婷婷综合色| 亚洲欧美激情视频在线观看一区二区三区| 亚洲国产日韩欧美在线99| 亚洲视频精品在线| 欧美日韩午夜激情| 国产精品久久久久久久久久妞妞| 欧美在线日韩精品| 宅男噜噜噜66国产日韩在线观看| 国产精品性做久久久久久| 亚洲视频一区在线| 亚洲国产99| 美女爽到呻吟久久久久| 亚洲一区二区在线观看视频| 亚洲成人资源网| 美女日韩欧美| 国产精品毛片va一区二区三区| 玖玖玖免费嫩草在线影院一区| 国产午夜精品视频免费不卡69堂| 亚洲国产精品悠悠久久琪琪| 日韩视频在线一区二区三区| 国产日本欧美一区二区三区| 一区在线视频观看| 国内成+人亚洲+欧美+综合在线| 91久久国产自产拍夜夜嗨| 久久久久久日产精品| 欧美日韩日日夜夜| 久久福利资源站| 亚洲一级网站| 欧美国产一区二区| 亚洲欧美成人一区二区三区| 久久国产精品99精品国产| 亚洲精品一线二线三线无人区| 黑人巨大精品欧美一区二区小视频| 亚洲午夜久久久久久尤物| 久久综合导航| 国产精品国产三级国产aⅴ9色| 男女精品网站| 日韩一级视频免费观看在线| 欧美第十八页| 欧美美女操人视频| 在线观看亚洲一区| 在线成人欧美| 激情欧美一区| 久久一区二区三区超碰国产精品| 久久综合九九| 国产日产亚洲精品系列| 亚洲欧洲精品一区二区| 欧美一区观看| 激情视频一区| 国产一区视频观看| 亚洲一区免费网站| 欧美大片在线观看| 欧美日韩高清一区| 免费91麻豆精品国产自产在线观看| 亚洲精品五月天| 亚洲第一毛片| 国产亚洲综合在线| 牛夜精品久久久久久久99黑人| 免费永久网站黄欧美| 久久激情五月婷婷| 国产精品一级在线| 久久久噜噜噜久久久| 久久久久久国产精品一区| 亚洲精品网址在线观看| 欧美三日本三级少妇三2023| 欧美成人自拍视频| 久久久99精品免费观看不卡| 亚洲天堂av在线免费观看| 亚洲免费一区二区| 欧美极品欧美精品欧美视频| 国产精品午夜春色av| 午夜国产精品视频免费体验区| 亚洲午夜电影网| 在线观看一区二区精品视频| 国产嫩草影院久久久久| 一区二区三区亚洲| 国产精品一二三视频| 欧美日本精品一区二区三区| 国产精品久久久久久亚洲调教| 欧美日本国产视频| 欧美大胆成人| 欧美午夜激情视频|