最新DSP28335 I2C接口应用.doc

最新DSP28335 I2C接口应用.doc

ID:62981553

大小:1.21 MB

页数:20页

时间:2021-07-23

最新DSP28335 I2C接口应用.doc_第1页
最新DSP28335 I2C接口应用.doc_第2页
最新DSP28335 I2C接口应用.doc_第3页
最新DSP28335 I2C接口应用.doc_第4页
最新DSP28335 I2C接口应用.doc_第5页
资源描述:

《最新DSP28335 I2C接口应用.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、精品资料DSP28335I2C接口应用........................................精品资料DSPI2C应用说明1.示例程序中几种状态第一次看i2c_eeprom示例程序,对程序中的MsgStatus信息状态切换非常懵懂,为什么要有这几个状态?状态切换顺序如何安排?一大堆的状态,让人有些摸不着头脑。先把程序中的头文件涉及的7种状态分析一下。//I2CMessageCommandsforI2CMSGstruct#defineI2C_MSGSTAT_INACTIVE0x0000//未激活状态:一般成功发送数据或者//接受数据后可以设置信息状态为此状态,告诉用户

2、可进行下一次的写数据或读数据。#defineI2C_MSGSTAT_SEND_WITHSTOP0x0010//发送带停止位数据:这是为写数据而设///的状态,写入地址和数据之后发个停止位告诉存储器数据写入完毕。#defineI2C_MSGSTAT_WRITE_BUSY0x0011//写数据忙状态:在将待写的数据放入//缓存后,就可以使能IIC传输数据了,然后把信息状态设为该状态,意在告诉用户:数据//已经在传送过程中。当然是否传送完毕,还需要通过查询SCD位来判断。........................................精品资料#defineI2C_MSGSTAT_

3、SEND_NOSTOP0x0020//发送无停止位数据:这个状态是为了读//取数据而设的,有查阅过AT24C1024EEPROM存储器使用手册的读者知道,在读数据之前//要发送数据的地址,发完地址不能产生停止位,这是存储器硬件设计决定的。设为这个状//态意在告诉读者,可以发送要读取的数据的地址了。#defineI2C_MSGSTAT_SEND_NOSTOP_BUSY0x0021//发送无停止位数据忙状态:这个状态是//为了读取数据而设的,似于I2C_MSGSTAT_WRITE_BUSY,说明地址数据已经在传送过程中。//传送是否成功,还要看ARDY的状态。#defineI2C_MSGSTA

4、T_RESTART0x0022//重发开始位状态:这个状态也是为读取////数据而设。我们知道,读取存储器数据主要分两个步骤:第一,发送START位+设备地址//+数据地址+无停止位。第二,再发START位+设备地址,紧接着存储器发送数据到IIC接收//缓存器(I2CDRR),接收到设定好的数据数量(I2CCNT值)时输出停止位STOP.//值得注意的是:理论上写完数据就能马上读取数据,但事实上EEPROM存储器仍需要一........................................精品资料////定延时来存储数据,约有2ms左右。通过示波器可以观察到,写完数据后,并不能马

5、上//成功读取数据,也就是说读数据的第一步骤要重复好几次(总线为50K时,大约要重复//8次)才能成功。#defineI2C_MSGSTAT_READ_BUSY0x0023//读取数据忙状态:这个状态是为读取数//据而设。在读数据的第二步骤中,发完START位+设备地址后,就设为这一状态。意在说//明IIC开始等待接收固定数量(I2CCNT值)的数据。可以通过查询ARDY位判断。//头文件中的其他定义应该没什么大问题了!2.AT24C1024EEPROM读写数据格式(1)AT24C1024设备地址:10100A1P0R/W(2)单字节写入:START->发送从设备地址(写控制码R/W=0)

6、->处理Ack->发送字节地址->处理Ack[->发送1字节数据->处理Ack]->STOP。如下图:(3)按页写入:START->发送从设备地址(写控制码R/W=0)->处理Ack->发送字节地址->处理Ack[->发送1字节数据->处理Ack->........................................精品资料发送第2字节数据->处理Ack->发送第3字节数据->处理Ack……直到发完X字节]->STOP。如下图。注意,连续写入的数据字节数不能超过每页所能容下的总量。如果写入的数据超过一页的长度,将发生回卷,即从EEPROM的0地址处进行数据覆盖。比如,AT24C

7、1024有512页,每页最大容纳256字节。超过这个长度,地址指针将从每页首地址重新开始。(4)随机单字节读取:第一步:发START->发送从设备地址(写控制码R/W=0)->处理Ack->发送字节地址高位->处理Ack->发送字节地址低位->处理Ack->第二步:发START->发送器件地址(读控制码R/W=1)->处理Ack->接收1字节数据->STOP。(5)随机连续读取:在随机单字节读取操作的STOP信号发送之前

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

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

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