基于某MSP430地I2C模拟总线程序讲解

基于某MSP430地I2C模拟总线程序讲解

ID:41297443

大小:93.00 KB

页数:32页

时间:2019-08-21

基于某MSP430地I2C模拟总线程序讲解_第1页
基于某MSP430地I2C模拟总线程序讲解_第2页
基于某MSP430地I2C模拟总线程序讲解_第3页
基于某MSP430地I2C模拟总线程序讲解_第4页
基于某MSP430地I2C模拟总线程序讲解_第5页
资源描述:

《基于某MSP430地I2C模拟总线程序讲解》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用文档程序和流程图:IIC.hvoidInit_IIC(void);voidEEPROM_ByteWrite(unsignedcharnAddr,unsignedcharnVal);unsignedcharEEPROM_RandomRead(unsignedcharnAddr);unsignedcharEEPROM_CurrentAddressRead(void);voidEEPROM_AckPolling(void);voidInit_CLK(void);voidInit_IIC_Port(void);Main

2、.C/*******************************************IICforAT24c16ORAT24CXXX系列只要控制好IICRMIICSTPIICSTT其硬件会自动完成SCLSDA的一系列时序只要注意各个发送与接收的控制标志位.******************************************/#include#include"IIC.h"volatileunsignedcharData[6];voidmain(void){//vola

3、tileunsignedcharData[6];文案大全实用文档//停止看门狗WDTCTL=WDTPW+WDTHOLD;//初始化端口Init_IIC_Port();//初始化时钟Init_CLK();//I2C初始化Init_IIC();//置传输方式及控制方式//打开中断_EINT();//写入数据EEPROM_ByteWrite(0x0000,0x12);//等待写操作完成EEPROM_AckPolling();//写入数据EEPROM_ByteWrite(0x0001,0x34);//等待写操作完成EEPR

4、OM_AckPolling();//写入数据EEPROM_ByteWrite(0x0002,0x56);//等待写操作完成文案大全实用文档EEPROM_AckPolling();//写入数据EEPROM_ByteWrite(0x0003,0x78);//等待写操作完成EEPROM_AckPolling();//写入数据EEPROM_ByteWrite(0x0004,0x9A);//等待写操作完成EEPROM_AckPolling();//写入数据EEPROM_ByteWrite(0x0005,0xBC);//等待写

5、操作完成EEPROM_AckPolling();//读出数据,随机读Data[0]=EEPROM_RandomRead(0x0000);//地址自动加1//读出数据,当前地址读Data[1]=EEPROM_CurrentAddressRead();//读出数据,当前地址读Data[2]=EEPROM_CurrentAddressRead();//读出数据,当前地址读Data[3]=EEPROM_CurrentAddressRead();//读出数据,当前地址读Data[4]=EEPROM_CurrentAddres

6、sRead();文案大全实用文档//读出数据,当前地址读Data[5]=EEPROM_CurrentAddressRead();}IIC.C#include#include"IIC.h"#defineSLAVEADDR0x50;inttx_count;intrx_count;unsignedcharI2CBuffer[3];voidInit_IIC(void){//将P3.1和P3.3设置为I2C管脚P3SEL=0x0A;//设置P3.1和P3.3管脚的方向P3DIR&=~0x0A;//

7、选择为I2C模式U0CTL

8、=I2C+SYNC;//禁止I2C模块U0CTL&=~I2CEN;//设置I2C为7位地址模式,不使用DMA,//字节模式,时钟源为SMCLK,//设置成传输模式I2CTCTL=I2CTRX+I2CSSEL_2;文案大全实用文档//定义从器件地址I2CSA=SLAVEADDR;//设置本身的地址I2COA=0x01A5;//I2C时钟为SMCLK/160I2CPSC=159;//SCL高电平为:5*I2C时钟I2CSCLH=0x03;//SCL低电平为:5*I2C时钟I2CSCLL=0x

9、03;//I2C模块有效U0CTL

10、=I2CEN;tx_count=0;rx_count=0;}voidI2CWriteInit(void)//对于AT24CXXX的写操作是置成主模式并置位中断使能.{//主(Master)模式U0CTL

11、=MST;//传输模式,R/W为:0I2CTCTL

12、=I2CTRX;//清除中断标志I2CIFG&=~TXRDYIFG;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。