打印
[MCU]

都是读出的我最近一次写入的值

[复制链接]
522|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zwll|  楼主 | 2020-3-8 14:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在DSP28035上面使用I2C读写EEPROM,基本上使用的是TI的例程,管脚也进行了相关的修改,但是读写会有问题:
1. 从示波器上观察,写进去的相序是对的。
2. 从示波器上观察,读出来的相序前面也没问题,关键是我无论读哪个地址,发现都是读出的我最近一次写入的值

使用特权

评论回复

相关帖子

沙发
wangzsa| | 2020-3-8 14:52 | 只看该作者

什么意思?不是很明白你说的什么,能再解释一下这个现象吗

使用特权

评论回复
板凳
zwll|  楼主 | 2020-3-8 15:01 | 只看该作者
比如:我最近一次往0x0000上面写0x0012,往地址0x0010上面写0x0056,之后我无论读哪个地址,都是读出来的0x0056,很纠结。

使用特权

评论回复
地板
renyaq| | 2020-3-8 15:16 | 只看该作者

有没有试试逻辑分析 仪

使用特权

评论回复
5
houcs| | 2020-3-8 15:20 | 只看该作者

建议楼主仔细读一下EEPROM的数据手册,因为读和写都有很多种模式,你的读写时序是否满足其中的时序要求

使用特权

评论回复
6
morrisk| | 2020-3-8 15:23 | 只看该作者
比如24LC02写的话,有页写,字节写,读的时候有当前地址读,任意地址读,周期读

使用特权

评论回复
7
zwll|  楼主 | 2020-3-8 15:34 | 只看该作者
这几种模式具体的怎么设置?

使用特权

评论回复
8
dingy| | 2020-3-8 15:39 | 只看该作者
感觉你可能没有写进去,读的数据不过是你写的char *writbuff里面的数据,所以每次读就是最后一次的值。

使用特权

评论回复
9
renyaq| | 2020-3-8 15:44 | 只看该作者
写的时候有什么特别要求吗?

使用特权

评论回复
10
yinxiangh| | 2020-3-8 15:53 | 只看该作者
我也碰到了类似的问题,看了datasheet感觉时序也没啥问题,但是每次读出来的就是最后一次的数值,没法写进去,

使用特权

评论回复
11
xxmmi| | 2020-3-8 15:57 | 只看该作者
你的读取地址在哪里定义的

使用特权

评论回复
12
llia| | 2020-3-8 16:01 | 只看该作者
这个可能是程序错误了。

使用特权

评论回复
13
zhanglli| | 2020-3-8 16:05 | 只看该作者
是不是超出范围了?

使用特权

评论回复
14
tian111| | 2020-3-8 16:09 | 只看该作者
示波器测量引脚了吗

使用特权

评论回复
15
stly| | 2020-3-8 16:14 | 只看该作者
增加一个上拉电阻,增强驱动能力。

使用特权

评论回复
16
supernan| | 2020-3-8 16:19 | 只看该作者
看一下你的读取程序

使用特权

评论回复
17
xxmmi| | 2020-3-8 16:22 | 只看该作者
写入其他的数据呢?

使用特权

评论回复
18
wangpe| | 2020-3-8 16:26 | 只看该作者
怎么存储读取的变量的

使用特权

评论回复
19
zhuww| | 2020-3-8 16:32 | 只看该作者
有可能是你数据没有写入的

使用特权

评论回复
20
bqyj| | 2020-3-8 16:35 | 只看该作者
可能写入的时候无**常驱动IO。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

885

主题

11314

帖子

5

粉丝