AVR TWI读范例程序.docx
《AVR TWI读范例程序.docx》由会员分享,可在线阅读,更多相关《AVR TWI读范例程序.docx(11页珍藏版)》请在优知文库上搜索。
1、AVRTWI读写范例程序(AT24C02)本程序简单的示范了如何使用AnHgU6的NI读写AT24C02IICEEPROMUiW(即I1.C协议,谛认克参考IIC汾议的内容,否则根本就不能掌握)一主多从的应用,M1.6作主机(M16做从机和多主多从的应用不多,请自行参考相关文档)中断模式(因为IWR的速度很高,而I1.C的速度相对较低.采用查询模式会长时间独占CP1.I,令CP1.I的利用率明显下降.特别是UC速度受环境影响只能低速通讯时,时系统的实时性产生严笊的影响.杳询帙式可以参考其它文档和软件模拟IIC的文档AT24C02/04/08的操作特点出于简化程序考虑,各种数据没有对外输出.学习
2、时建议使用JTAGICE硬件仿真零inc1.udeinc1.udeSinc1.udeRinc1.ude时钟定为外部晶振7.3728MHz,FCPU=7372800JJinc1.udo定义了各种模式下的状态眄列表(TWSR已屏蔽预分频位),本文后面附上中文描述管脚定义definepinSC1.0/PCOSC1.8definepinSDA1/PC1.SDA为保险起见,见好在SCUSDA接上10K的外部上拉电皿到YCaRdefinefSC1.100OOO/TUI时仲为100KIIz预分频系数=I(TWPS=Q)#if叱CPUfSC1.*36Sdefine1WBR_SET10;/TIBR必须大于等于1
3、0Ke1.sedefineTffBR-SETF_CPU/fSC1.-16)/2;/计算RBR值#ondifSdefineP1.ACT(1(1TWEN)(1TWIE)/TWCR只能IwoIJT,直接赋值比逻辑运算(=&=)更节省空间SdefineS1.A_24CXXOxAO2ICXX系列的厂商器件地址(高四位)defineADDR_24C020x00/AT21C02的地址线A2/1/0全部接地,S1.V*-OxAO*OxOO1.OxOO.S1.R-OxO*OxOO;原始数据unsignedcharCMPDATA8j;/比较数据unsignedcharB1.:FFER256;缓冲区,可以装载整个A
4、C21C02的数据structStrJWI/TWI数据结构(vo1.ati1.eunsignedcharSTATUS;/TW1_操作状态unsignedcharS1.A;/从设篝的器件地址unsignedi11tM)R:/从设备的数据地址unsignedchar*pM.,F:数据缓冲区指针unsignedintDATA1.EN;数据长度unsignedcharSTATE:PH读写操作步骤unsignedcharFAI1.CfJT;失败重试次数);structStJTW1.StrWI;TW1.的数据结构变瘠仿文时在watch窗口,监控这些全局变地。/AT24C02的读写照数(包括随机读,连续流,
5、字节写,页写)/根据S1.a的最低位决定(由中断程序中判断)/ZbitO=ITW-READ读/ZbitO=OTW_WRJTE写/SIa器件地址(不能搞错)/addrEEPRoM地址(01023)/*ptr读写数据腹冲区/Ien读数据长度(厂1024),写数据长度(1or8or16)/返I可伯是否能执行当前操作unsignedcharTW1.RW(unsignedchar$1.a,unsignedintaddr,unsignedchar*tr,unsignedint1.en)unsignedchari:if(strT,1.STAwS=II1.B1.SY)TWI忙.不能进行操作returnOP_B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AVR TWI读范例程序 TWI 范例 程序