亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? msp430f169的i2c程序(僅供參考).c

?? MSP430F169的i2c程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
//MSP430F169的i2c程序(僅供參考)            

      /************************************************************
      *文件名:msp430f169i2c.c
      *整體描述:MSP430F169單片機(jī)硬件IIC軟件,字節(jié)方式,主方式
      *          IIC接口:P3.3=SCL,P3.1=SDA;(開漏輸出)
      *          相應(yīng)寄存器:地址寄存器 I2COA 用于存放自身從地址(從方式時才有用)
      *                      地址寄存器 I2CSA 用于存放外圍的從機(jī)地址(主方式時才有用)
      *                      控制寄存器 U0CTL 硬件I2C的設(shè)置、使能、模式等。
                             發(fā)送控制寄存器 I2CTCTL
      *                      數(shù)據(jù)控制寄存器 I2CDCTL 指示I2C總線的狀態(tài)
      *
      *       U0CTL -- RXDMAEN,TXDMAEN,I2C, XA, LISREN,SYNC,MST,I2CEN 
      *                 0       0      1   0    0      1    1    1      (0x17)
      *       I2CTCTL --I2CWORD,I2CRM,I2CSSEL1,I2XSSEL0, I2CTRX,I2CSTB, I2CSTP, 
      I2CSTT 
      *                 0       1      1         0        *      0       *       
      *     
      *       I2C從機(jī)AT24C512,注意從機(jī)讀寫地址的定義:(MSB) 1 0 1 0 0 A1 A0  R/W (LSB)
      *作者: jy
      *狀態(tài):  通過
      ************************************************************/
      #include <msp430x16x.h>
      #include "fpgacode.h"

      #define WR24C512
      #define LED1_1            (0x20)     /* Port 3.5 Output -> LED1  */
      #define LED1_0            (0xdf)

      #define SDA_1       P3OUT |=  BIT1              //串行數(shù)據(jù)線,SDA = 1
      #define SDA_0       P3OUT &=~ BIT1              //SDA = 0
      #define SCL_1       P3OUT |=  BIT3              //串行時鐘線,SCL = 1
      #define SCL_0       P3OUT &=~ BIT3              //SCL = 0

      #define SDADIR_IN   P3DIR &=~ BIT1            //SDA,I/O口為輸入
      #define SDADIR_OUT  P3DIR |=  BIT1            //I/0口為輸出
      #define SDA_IN      ((P3IN >> 1) & 0x01)      //Read SDA

      #define SCLDIR_IN   P3DIR &=~ BIT3           //SCL,I/O口為輸入
      #define SCLDIR_OUT  P3DIR |=  BIT3           //I/0口為輸出
      #define SCL_IN      ((P3IN >> 3) & 0x01)     //Read SCL

      #ifdef WR24C512
      static int numi = 0;                   //Data Pointer
      #else
      static int numj = 0;                   //Data Pointer
      #endif

      #define I2CSLA 0xa0
 uchar rxDataArray,*FPGACfg;
 uchar temp[8]={5,1,3,3,4,4,55,5};
 /*--------------------------------------------------------
      --功能描述: 檢查總線是否空閑
      --子程序狀況: 09-23調(diào)試通過
      ----------------------------------------------------------
      --*/
      void I2c_Idle_Check(void)
      {
          while (I2CBUSY & I2CDCTL);    // I2C ready? 在空閑狀態(tài):0,空閑;1:忙
      }

      void DelayTime10us(unsigned char n)
      {
          unsigned char i;
           while(n--)                  // 5 cycles  
              for(i=0;i<10;i++);      // 8mhz  110:771 + 4 to while
      }

      /*---------------------------------------------------------
      --功能描述:發(fā)送數(shù)據(jù):用于向總線發(fā)送數(shù)據(jù)
      --子程序狀況: 09-23調(diào)試通過
      -----------------------------------------------------------
      --*/
      void I2cBusSendByte(unsigned char c)
      {  
          while((I2CIFG & TXRDYIFG) != TXRDYIFG);  // 檢測發(fā)送準(zhǔn)備
          I2CDRB = c;                             // 寫發(fā)送寄存器  
      }

      /*------------------ MSP430 I2C 寫數(shù)據(jù) 09-23調(diào)試通過---------------------*/   
      /*--------------------------------------------------------
      --功能描述:申請總線:進(jìn)行I2C總線的初始化-發(fā)送起始信號
      --子程序狀況: 09-23調(diào)試通過
      ----------------------------------------------------------
      --*/
      void I2C_Send(unsigned char ndatNum)
      {     
                             // 注意:通訊結(jié)束,I2CMST 自動清零,再次通訊必須重新置位
          P3OUT = 0x00;                 // clear P3 output register   
          P3SEL = 0x0A;                 // P3.1=SDA, P3.3=SCL,Select I2C pins, Setup I2C module      
       
          U0CTL |= (I2C + SYNC);           // select I2C mode;XA=0,7bit_addresing;
      
          U0CTL &= ~I2CEN;              // i2c功能使能無效 
         // I2CTCTL = I2CRM + I2CSSEL_2;  // x(x>256)字節(jié)模式 ,new start測試使用
          
          //  選擇方式 I2CRM=0,最終用戶使用
          I2CTCTL =  I2CSSEL_2; 
          I2CNDAT = 2 + ndatNum;         // 最終用戶使用,2byte地址 + 128byte數(shù)據(jù) 
          
          I2CPSC = 2;                    // set scl
          I2CIFG = 0;
          I2CSA = 0xa0;                 // Slave address of At24c512   
          U0CTL |= I2CEN;               // enable I2C module, 7 bit addr,  master mode   08-26   
      
          U0CTL |= MST;
          
          
          while (I2CBUSY & I2CDCTL);              // I2C ready? 在空閑狀態(tài):0,空閑;1:忙
          I2CTCTL |= I2CTRX + I2CSTT + I2CSTP ;   // I2CRM =0,啟動總線,發(fā)送從器件地址
          while((I2CIFG & NACKIFG) == 0x02);      //  ack 為低電平,等待地址應(yīng)答位 ,判斷無應(yīng)答NACKIFG = 1     
           
      }
      /*----------------------------------------------------------------
      --子程標(biāo)號      :I2cWrSlaSubAddr                                          
      --子程功能      :主機(jī)發(fā)送從機(jī)的子地址                         
      --入口參數(shù)      :unsigned char sla,unsigned int suba                    
      --參數(shù)說明      :子地址                                                           
                                     
      --子程序狀況    :09-23調(diào)試通過                                                 
      --說明          :完成地址信息的定位,先確定順序讀寫的起始地址                                   
      -----------------------------------------------------------------
      --*/                     
      unsigned char I2cSendSubAddr(unsigned int suba,unsigned char ndatNum)
      {
          unsigned char Hi_suba,Lo_suba;

          I2C_Send(ndatNum);                // 啟動總線,等待地址應(yīng)答位
          
          Hi_suba = ( unsigned char )( suba >> 8 );
          Lo_suba = ( unsigned char )( suba & 0x00ff );
          I2cBusSendByte( Hi_suba );             //發(fā)送器件子地址
          while((I2CIFG  & 0x02) == NACKIFG )    // 等待數(shù)據(jù)的應(yīng)答
              {
              I2CTCTL |= I2CSTP;                 // 無應(yīng)答,結(jié)束總線
              return(0);  
              }
           I2cBusSendByte( Lo_suba );             //發(fā)送器件子地址    
           while((I2CIFG  & 0x02 )==0x02 )    // 等待數(shù)據(jù)的應(yīng)答
              {
              I2CTCTL |= I2CSTP;                 // 無應(yīng)答,結(jié)束總線
              return(0);  
              }
          return(1);
      }

      /*------------------------------------------------------------------
      --子程標(biāo)號      :I2cWriteStr     (用戶函數(shù))                            
      --子程功能      :向I2C從器件寫入數(shù)據(jù)                                  
      --入口參數(shù)      :unsigned char *ps,unsigned char num                           
                    
      --參數(shù)說明      :寫入數(shù)據(jù)的地址指針,數(shù)據(jù)個數(shù)                                     
      --子程序狀況    : 09-23調(diào)試通過                                        
      --說明          :I2C讀取數(shù)據(jù)                                    
      -------------------------------------------------------------------
      --*/
      unsigned char I2cSendStr(const unsigned char * ps,unsigned char num)
      {
        //  unsigned char i;
          unsigned char tempnum;
          tempnum = num-1;
          for(numi=0;numi<tempnum;numi++)
              {
              I2cBusSendByte(*ps);
              while((I2CIFG  & 0x02) == NACKIFG)   // 等待數(shù)據(jù)的應(yīng)答
                  {
                  I2CTCTL |= I2CSTP;                 // 無應(yīng)答,結(jié)束總線
                  return(0);  
                  }
              ps++;
              }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91丨porny丨国产入口| 欧美亚洲动漫另类| 97久久精品人人做人人爽| 欧美亚一区二区| 一区二区三区加勒比av| 国产福利精品导航| 7777精品伊人久久久大香线蕉超级流畅| 国产香蕉久久精品综合网| 亚洲高清在线视频| 成人av免费网站| 久久久精品综合| 久久精品国产99久久6| 欧美肥妇bbw| 亚洲精品大片www| 成人app下载| 亚洲国产综合色| 欧美成人综合网站| 免费高清在线视频一区·| 欧美日韩精品电影| 亚洲电影视频在线| 欧美日韩久久久| 另类专区欧美蜜桃臀第一页| 久久精品视频一区二区| 在线亚洲欧美专区二区| 亚洲免费在线电影| 色婷婷精品久久二区二区蜜臀av | 精品国产凹凸成av人导航| 亚洲成人av一区| 久久久久久久精| 欧美日韩高清一区二区三区| 国产剧情一区二区| 国产亚洲美州欧州综合国| 91香蕉视频黄| 国产美女精品在线| 欧美激情一区二区三区不卡 | 欧美日韩精品一区二区在线播放 | 国产精品视频在线看| 国产·精品毛片| 国产精品系列在线| 欧美二区在线观看| 95精品视频在线| 狠狠色2019综合网| 国产精品精品国产色婷婷| voyeur盗摄精品| 亚洲欧洲制服丝袜| 2020国产精品自拍| av亚洲产国偷v产偷v自拍| 日本中文在线一区| 欧美激情艳妇裸体舞| 日韩一级黄色大片| 国产一区二区三区免费在线观看| 亚洲一区国产视频| 精品美女一区二区| 欧美视频自拍偷拍| 成人18视频在线播放| 精品综合久久久久久8888| 成人免费小视频| 欧美久久久一区| 91黄色免费看| 激情久久久久久久久久久久久久久久| 亚洲免费观看在线观看| 国产欧美日韩另类一区| 欧美日本在线视频| 在线视频综合导航| 色婷婷激情综合| 91女厕偷拍女厕偷拍高清| 国产成人综合自拍| 国产老女人精品毛片久久| 秋霞影院一区二区| 蜜桃一区二区三区四区| 最新日韩av在线| 国产女人水真多18毛片18精品视频| 欧美大片一区二区三区| 一本色道亚洲精品aⅴ| 成人国产精品免费网站| 成人美女视频在线看| 蜜芽一区二区三区| 首页综合国产亚洲丝袜| 国产精品日日摸夜夜摸av| 久久精品视频在线看| 久久久国产精华| 国产精品网曝门| 综合色中文字幕| 国产日产欧美一区| 欧美国产精品一区二区| 国产精品亲子伦对白| 中文字幕亚洲在| 综合电影一区二区三区 | 性感美女极品91精品| 一区二区三区久久| 午夜欧美大尺度福利影院在线看| 中文字幕在线不卡| 亚洲精品视频在线观看免费| 亚洲一区二区三区四区的| 亚洲第一福利一区| 精品中文字幕一区二区| 成人永久aaa| 色婷婷久久久综合中文字幕| 欧美人动与zoxxxx乱| 欧美刺激午夜性久久久久久久 | 韩国一区二区在线观看| 国产精品一区二区在线播放| 成人伦理片在线| 欧美日韩一区二区三区免费看| 99久久99久久精品免费观看| 色视频欧美一区二区三区| 欧美一区二区美女| 欧美精品一二三| 久久久亚洲精品石原莉奈| 国产精品免费aⅴ片在线观看| 亚洲欧美另类久久久精品2019| 五月激情综合网| 国产综合色产在线精品| 91免费小视频| 日韩一区二区免费高清| 中文字幕欧美区| 三级久久三级久久久| 国产成人在线免费观看| 在线观看视频一区二区欧美日韩| 精品入口麻豆88视频| 成人免费视频在线观看| 久久精品99国产精品日本| 99精品欧美一区二区蜜桃免费| 欧美一级在线免费| 亚洲三级在线观看| 精品在线观看免费| 欧美在线999| 国产视频一区二区在线| 午夜视频在线观看一区二区三区| 成人免费观看视频| 欧美xxxx老人做受| 亚洲一区二区三区视频在线播放| 狠狠色丁香婷婷综合久久片| 欧美最新大片在线看| 国产欧美1区2区3区| 日本美女一区二区| 欧美亚洲免费在线一区| 国产日产欧美一区| 美女国产一区二区| 精品视频一区二区三区免费| 国产精品免费视频观看| 国产一区二区三区四| 6080午夜不卡| 一区二区三区自拍| 99久久久久免费精品国产| 久久人人97超碰com| 日本视频在线一区| 欧美二区乱c少妇| 亚洲成人在线观看视频| 一本一道综合狠狠老| 国产精品美女久久久久高潮| 国产精品99久久久久久久女警 | 久久久久久免费网| 免费av成人在线| 91精品麻豆日日躁夜夜躁| 一区二区三区波多野结衣在线观看| 99视频有精品| 国产精品美日韩| a级高清视频欧美日韩| 日本一区二区免费在线| 国产精品99久久久久久久女警| 精品国产一区二区三区久久久蜜月 | 日韩一二三区视频| 日韩电影在线一区二区| 欧美精品日韩精品| 日日夜夜精品视频免费| 欧美日韩国产影片| 肉丝袜脚交视频一区二区| 欧美日韩午夜在线视频| 亚洲国产精品欧美一二99| 欧美色成人综合| 日日夜夜精品视频天天综合网| 91精品国产综合久久精品麻豆 | 国产综合久久久久影院| 欧美va亚洲va在线观看蝴蝶网| 日韩激情一区二区| 日韩欧美国产系列| 韩国一区二区三区| 国产精品美女久久久久高潮| 97精品久久久午夜一区二区三区 | 2020国产精品久久精品美国| 国产一区亚洲一区| 国产精品久久久久久久久久久免费看| 成人av免费在线观看| 亚洲尤物在线视频观看| 这里只有精品电影| 久久精品国产一区二区| 久久亚洲影视婷婷| 99re热这里只有精品免费视频| 亚洲一区免费视频| 日韩欧美区一区二| 国产不卡一区视频| 亚洲精品亚洲人成人网在线播放| 欧美日韩一区二区三区四区 | 国产欧美在线观看一区| 99久久综合精品| 亚洲永久精品国产| 欧美xxxxx裸体时装秀| 北岛玲一区二区三区四区| 亚洲国产精品天堂|