您的位置 首页 方案

MSP430非模仿IIC总线控制程序

对于MSP430的学习经历一个从痛苦到对430很有感情的转变当然开始学习的时候那是相当恼火网上也没有什么很多的相关资料就算有资料也是给不

关于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_I%&&&&&%(); //置传输方法及操控方法

//翻开中止
_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();
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/254568.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部