a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > MSP430非模擬IIC總線控制程序

MSP430非模擬IIC總線控制程序

作者: 時間:2016-12-02 來源:網絡 收藏
對于MSP430的學習經歷一個從痛苦到對430很有感情的轉變.當然開始學習的時候那是相當惱火.網上也沒有什么很多的相關資料.就算有資料也是給不全.參考與學習都不很方便.經過多方面的努力和找書再到對程序的仔細讀,感到非模擬的總線帶來的方便還是很多的. 下面就是程序和流程圖:



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 其硬件會自動完成
SCL SDA的一系列時序 只要注意各個發送與接收的控制標志位.
******************************************/
#include
#include "IIC.h"
volatile unsigned char Data[6];
void main(void)
{
//volatile unsigned char Data[6];

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

//初始化端口
Init_IIC_Port();

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

//打開中斷
_EINT();

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

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

上一頁 1 2 3 下一頁

評論


技術專區

關閉