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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MSP430非模擬IIC總線控制程序

          MSP430非模擬IIC總線控制程序

          作者: 時(shí)間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
          對(duì)于MSP430的學(xué)習(xí)經(jīng)歷一個(gè)從痛苦到對(duì)430很有感情的轉(zhuǎn)變.當(dāng)然開始學(xué)習(xí)的時(shí)候那是相當(dāng)惱火.網(wǎng)上也沒有什么很多的相關(guān)資料.就算有資料也是給不全.參考與學(xué)習(xí)都不很方便.經(jīng)過多方面的努力和找書再到對(duì)程序的仔細(xì)讀,感到非模擬的總線帶來的方便還是很多的. 下面就是程序和流程圖:



          IIC.h

          void Init_IIC(void);
          void EEPROM_ByteWrite(unsigned char nAddr,unsigned char nVal);
          unsigned char EEPROM_RandomRead(unsigned char nAddr);
          unsigned char EEPROM_CurrentAddressRead(void);
          void EEPROM_AckPolling(void);
          void Init_CLK(void);
          void Init_IIC_Port(void);

          Main.C

          /*******************************************
          IIC for AT24c16 OR AT24CXXX 系列

          只要控制好IICRM IICSTP IICSTT 其硬件會(huì)自動(dòng)完成
          SCL SDA的一系列時(shí)序 只要注意各個(gè)發(fā)送與接收的控制標(biāo)志位.
          ******************************************/
          #include
          #include "IIC.h"
          volatile unsigned char Data[6];
          void main(void)
          {
          //volatile unsigned char Data[6];

          //停止看門狗
          WDTCTL = WDTPW+WDTHOLD;

          //初始化端口
          Init_IIC_Port();

          //初始化時(shí)鐘
          Init_CLK();
          //I2C初始化
          Init_IIC(); //置傳輸方式及控制方式

          //打開中斷
          _EINT();

          //寫入數(shù)據(jù)
          EEPROM_ByteWrite(0x0000,0x12);
          //等待寫操作完成
          EEPROM_AckPolling();
          //寫入數(shù)據(jù)
          EEPROM_ByteWrite(0x0001,0x34);
          //等待寫操作完成
          EEPROM_AckPolling();
          //寫入數(shù)據(jù)
          EEPROM_ByteWrite(0x0002,0x56);
          //等待寫操作完成
          EEPROM_AckPolling();
          //寫入數(shù)據(jù)
          EEPROM_ByteWrite(0x0003,0x78);
          //等待寫操作完成
          EEPROM_AckPolling();
          //寫入數(shù)據(jù)
          EEPROM_ByteWrite(0x0004,0x9A);
          //等待寫操作完成
          EEPROM_AckPolling();
          //寫入數(shù)據(jù)
          EEPROM_ByteWrite(0x0005,0xBC);
          //等待寫操作完成
          EEPROM_AckPolling();

          //讀出數(shù)據(jù),隨機(jī)讀
          Data[0] = EEPROM_RandomRead(0x0000); //地址自動(dòng)加1
          //讀出數(shù)據(jù),當(dāng)前地址讀
          Data[1] = EEPROM_CurrentAddressRead();
          //讀出數(shù)據(jù),當(dāng)前地址讀
          Data[2] = EEPROM_CurrentAddressRead();
          //讀出數(shù)據(jù),當(dāng)前地址讀
          Data[3] = EEPROM_CurrentAddressRead();
          //讀出數(shù)據(jù),當(dāng)前地址讀
          Data[4] = EEPROM_CurrentAddressRead();
          //讀出數(shù)據(jù),當(dāng)前地址讀
          Data[5] = EEPROM_CurrentAddressRead();
          }

          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          技術(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); })();