欢迎来到天天文库
浏览记录
ID:41297443
大小:93.00 KB
页数:32页
时间:2019-08-21
《基于某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;
此文档下载收益归作者所有