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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

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

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

      /************************************************************
      *文件名:msp430f169i2c.c
      *整體描述:MSP430F169單片機硬件IIC軟件,字節方式,主方式
      *          IIC接口:P3.3=SCL,P3.1=SDA;(開漏輸出)
      *          相應寄存器:地址寄存器 I2COA 用于存放自身從地址(從方式時才有用)
      *                      地址寄存器 I2CSA 用于存放外圍的從機地址(主方式時才有用)
      *                      控制寄存器 U0CTL 硬件I2C的設置、使能、模式等。
                             發送控制寄存器 I2CTCTL
      *                      數據控制寄存器 I2CDCTL 指示I2C總線的狀態
      *
      *       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從機AT24C512,注意從機讀寫地址的定義:(MSB) 1 0 1 0 0 A1 A0  R/W (LSB)
      *作者: jy
      *狀態:  通過
      ************************************************************/
      #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              //串行數據線,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調試通過
      ----------------------------------------------------------
      --*/
      void I2c_Idle_Check(void)
      {
          while (I2CBUSY & I2CDCTL);    // I2C ready? 在空閑狀態: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
      }

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

      /*------------------ MSP430 I2C 寫數據 09-23調試通過---------------------*/   
      /*--------------------------------------------------------
      --功能描述:申請總線:進行I2C總線的初始化-發送起始信號
      --子程序狀況: 09-23調試通過
      ----------------------------------------------------------
      --*/
      void I2C_Send(unsigned char ndatNum)
      {     
                             // 注意:通訊結束,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)字節模式 ,new start測試使用
          
          //  選擇方式 I2CRM=0,最終用戶使用
          I2CTCTL =  I2CSSEL_2; 
          I2CNDAT = 2 + ndatNum;         // 最終用戶使用,2byte地址 + 128byte數據 
          
          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? 在空閑狀態:0,空閑;1:忙
          I2CTCTL |= I2CTRX + I2CSTT + I2CSTP ;   // I2CRM =0,啟動總線,發送從器件地址
          while((I2CIFG & NACKIFG) == 0x02);      //  ack 為低電平,等待地址應答位 ,判斷無應答NACKIFG = 1     
           
      }
      /*----------------------------------------------------------------
      --子程標號      :I2cWrSlaSubAddr                                          
      --子程功能      :主機發送從機的子地址                         
      --入口參數      :unsigned char sla,unsigned int suba                    
      --參數說明      :子地址                                                           
                                     
      --子程序狀況    :09-23調試通過                                                 
      --說明          :完成地址信息的定位,先確定順序讀寫的起始地址                                   
      -----------------------------------------------------------------
      --*/                     
      unsigned char I2cSendSubAddr(unsigned int suba,unsigned char ndatNum)
      {
          unsigned char Hi_suba,Lo_suba;

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

      /*------------------------------------------------------------------
      --子程標號      :I2cWriteStr     (用戶函數)                            
      --子程功能      :向I2C從器件寫入數據                                  
      --入口參數      :unsigned char *ps,unsigned char num                           
                    
      --參數說明      :寫入數據的地址指針,數據個數                                     
      --子程序狀況    : 09-23調試通過                                        
      --說明          :I2C讀取數據                                    
      -------------------------------------------------------------------
      --*/
      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)   // 等待數據的應答
                  {
                  I2CTCTL |= I2CSTP;                 // 無應答,結束總線
                  return(0);  
                  }
              ps++;
              }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂成人国产精品一区| 日本韩国欧美一区二区三区| 国产精品一二三四五| 国产福利一区二区三区视频 | 7777精品伊人久久久大香线蕉 | 宅男在线国产精品| 精品处破学生在线二十三| 国产女人18毛片水真多成人如厕| 久久久不卡影院| 亚洲欧美激情一区二区| 日韩国产在线观看| 国产白丝精品91爽爽久久| 91一区二区在线| 精品国产一区二区精华| 26uuu亚洲| 国产亚洲短视频| 天天射综合影视| 成人aa视频在线观看| 欧美精品123区| 亚洲欧洲av色图| 另类的小说在线视频另类成人小视频在线 | 精品中文字幕一区二区 | 日韩精品一区二区三区中文不卡 | 精品亚洲成a人| 91国产免费观看| 国产精品全国免费观看高清| 日本不卡不码高清免费观看| 色综合天天性综合| 久久一留热品黄| 黑人精品欧美一区二区蜜桃| 欧美剧情片在线观看| 一区二区视频在线看| www.欧美色图| 国产精品午夜春色av| 国产伦精品一区二区三区在线观看| 欧美年轻男男videosbes| 亚洲精品菠萝久久久久久久| caoporn国产精品| 国产精品丝袜91| 国产夫妻精品视频| 精品国产制服丝袜高跟| 麻豆精品在线播放| 精品国产乱码久久久久久浪潮| 国产精品一区二区三区四区| 日韩午夜电影在线观看| 免费成人av资源网| 欧美成人综合网站| 国产精品一区二区在线看| 色综合久久久久综合| 国产女主播视频一区二区| 成人午夜激情影院| 中文字幕亚洲区| 欧美日韩国产另类不卡| 国产精品毛片大码女人| 成人精品电影在线观看| 亚洲免费在线视频| 精品视频在线免费观看| 久久精品理论片| 国产精品全国免费观看高清 | 亚洲va欧美va人人爽午夜| 欧美日本免费一区二区三区| 亚洲电影第三页| 91精品国产色综合久久ai换脸 | 国产农村妇女精品| 91久久精品一区二区二区| 奇米一区二区三区| 中文字幕一区二区三区视频| 色婷婷av久久久久久久| 久久99热99| 亚瑟在线精品视频| 精品一区二区三区日韩| 亚洲欧洲精品一区二区三区| 欧美日韩高清一区二区不卡 | 韩国视频一区二区| 日韩成人免费看| 久久精品亚洲国产奇米99| 色猫猫国产区一区二在线视频| 久久se精品一区精品二区| 一区二区三区在线观看动漫| 国产亚洲福利社区一区| 欧美美女一区二区三区| 午夜久久久久久| 欧美一卡二卡在线| 欧美日韩精品一区二区三区 | 国产午夜精品福利| 日韩一二三区视频| 在线播放日韩导航| 欧美性受极品xxxx喷水| 欧洲一区二区三区免费视频| eeuss鲁片一区二区三区在线看| 国产一区不卡视频| 国产一区二区三区不卡在线观看| 免费高清在线一区| 天堂一区二区在线| 日韩vs国产vs欧美| 日韩高清不卡一区| 九九精品一区二区| 久久 天天综合| 国产高清一区日本| 成人午夜激情影院| 99久久99久久精品免费观看| 懂色av一区二区三区免费观看 | 日本午夜精品视频在线观看| 亚洲一区影音先锋| 日韩av一区二| 国产精品一区二区在线看| 国产成人免费视频一区| 99久久免费视频.com| 欧美亚洲免费在线一区| 精品奇米国产一区二区三区| 久久亚洲影视婷婷| 亚洲欧美视频在线观看| 日韩中文字幕91| 国产成人av一区二区| 在线观看中文字幕不卡| 日韩欧美综合在线| 国产精品国产三级国产| 亚洲电影一级片| 国产99久久久国产精品潘金| 色婷婷亚洲一区二区三区| 91麻豆精品国产91| 国产精品污网站| 国产精品素人一区二区| 中文av一区二区| 日韩av在线播放中文字幕| 国产不卡视频一区| 日韩一区二区三区免费观看| 国产精品久久久久久久久免费相片 | 欧美美女喷水视频| 国产精品久久久久久久久动漫| 亚洲国产欧美在线| 99精品久久只有精品| ww亚洲ww在线观看国产| 日韩精品亚洲专区| 在线一区二区三区| 国产欧美精品一区| 麻豆精品国产91久久久久久| 欧美无砖专区一中文字| 中文字幕日韩一区| 国产91精品欧美| 国产亚洲一区二区在线观看| 日韩电影在线观看网站| 欧美亚洲综合网| 亚洲日本一区二区| 丁香亚洲综合激情啪啪综合| 久久影院午夜片一区| 欧美aaaaaa午夜精品| 欧美日韩精品欧美日韩精品一 | 精品一区二区三区欧美| 欧美日韩午夜在线视频| 亚洲欧美另类小说视频| 91在线免费视频观看| 国产精品国产三级国产| 91亚洲国产成人精品一区二区三| 久久久精品蜜桃| 成人av免费网站| 亚洲免费高清视频在线| 欧美性感一区二区三区| 午夜精品久久久久久久久久久| 欧美精品高清视频| 日日摸夜夜添夜夜添精品视频 | 国产人妖乱国产精品人妖| 五月天欧美精品| 久久免费看少妇高潮| 国产 欧美在线| 伊人婷婷欧美激情| 欧美一区二区三区啪啪| 成人中文字幕电影| 一区二区三区视频在线看| 欧美久久高跟鞋激| 从欧美一区二区三区| 亚洲青青青在线视频| 欧美区在线观看| 国产精品1区2区| 一区二区日韩av| 2024国产精品视频| 欧美影院一区二区| 国产很黄免费观看久久| 一区二区三区四区在线播放| 日韩精品一区二区三区视频| 99久久婷婷国产综合精品电影| 日本不卡123| 亚洲精品视频在线观看网站| 久久亚洲一区二区三区四区| 欧美日韩在线播放| av网站一区二区三区| 国产在线精品一区二区三区不卡| 亚洲精品成人天堂一二三| 国产日韩精品久久久| 日韩一区二区在线观看视频| 91在线精品秘密一区二区| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲最大的成人av| 中文字幕一区二| 亚洲国产精品99久久久久久久久 | 国产婷婷精品av在线| 日韩网站在线看片你懂的| 在线视频国内一区二区| 91最新地址在线播放| 97精品国产97久久久久久久久久久久|