关于DSP对X24C02读写问题,

[复制链接]
3271|3
 楼主| quanlai2 发表于 2007-11-6 09:13 | 显示全部楼层 |阅读模式
现在的一个项目中需要用DSP对X24C02进行读写,我在编写这个程序。现在碰到一个问题就是在对X24C02写的过程中,当发送完片选地址后DSP总收不到ACK信号。然后用示波器检测IIC总线波形发现从start信号到发送完地址的8个SCL周期内,SDL与SDA信号线上的时序配合是没有问题的,当到SCL第9个周期时,X24C02也产生了应答信号就是将SDA线电平拉低了,但是却没有拉到0,因此DSP没有收到。请问这是什么原因呢?和X24C02的SDA管脚的上拉电阻有关系么?谢谢了!
YEQINGCHI 发表于 2007-11-6 15:43 | 显示全部楼层

我也碰到这样的问题 至今没解决

后来我用的&nbsp;spi的eeprom(25f256)&nbsp;来解决的&nbsp;<br />用mcbsp操作的
chl00100 发表于 2007-11-7 09:31 | 显示全部楼层

re

贴一段DM643读写AT24C02成功的代码,建议仔细查看一下AT24Cxx的datasheet,记得它们与标准的IIC并不太符合,主要就是ACK返回的问题,,,,另外先确定执行到哪个语句死掉的,然后加大一点的延时试试能否解决问题,,,,<br /><br />void&nbsp;&nbsp;&nbsp;&nbsp;I2cWrite(I2C_Handle&nbsp;hI2C,Uint8&nbsp;AddressStart,Uint8&nbsp;*WriteData){<br />&nbsp;&nbsp;&nbsp;&nbsp;Uint8&nbsp;&nbsp;&nbsp;&nbsp;count;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(I2C_bb(hI2C));<br />&nbsp;&nbsp;&nbsp;&nbsp;IER&nbsp;&=&nbsp;0xF7FF;<br />&nbsp;&nbsp;&nbsp;&nbsp;I2C_config(DEC643_I2C_hI2C,&I2CCfgT);<br />&nbsp;&nbsp;&nbsp;&nbsp;while(!I2C_xrdy(hI2C));<br />&nbsp;&nbsp;&nbsp;&nbsp;I2C_writeByte(hI2C,&nbsp;AddressStart);<br />&nbsp;&nbsp;&nbsp;&nbsp;for(count&nbsp;=&nbsp;0;count&nbsp;&lt&nbsp;4;count&nbsp;++){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(!I2C_xrdy(hI2C));&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I2C_writeByte(hI2C,&nbsp;WriteData[count]);<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;while(I2C_bb(hI2C));<br />&nbsp;&nbsp;&nbsp;&nbsp;I2C_config(hI2C,&DEC643IIC_Config);<br />&nbsp;&nbsp;&nbsp;&nbsp;I2C_sendStop(hI2C);<br />&nbsp;&nbsp;&nbsp;&nbsp;while(!I2C_xrdy(hI2C));<br />&nbsp;&nbsp;&nbsp;&nbsp;while(I2C_bb(hI2C));<br />&nbsp;&nbsp;&nbsp;&nbsp;IER&nbsp;|=&nbsp;0x800;<br />}
hongh 发表于 2007-11-7 22:42 | 显示全部楼层

to:你用的DSP是那一型号,有专用I2C接口,还是用GPIO做的?

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

28

主题

38

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部