你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

软件模拟I2C读写EEPROM

[复制链接]
Pure Tiger 提问时间:2023-3-27 22:17 / 未解决

在STM32F103的芯片中,利用软件模拟I2C读写EEPROM,在使用页写入的方式进行读写时,能够读写385个字节,(EEPROM芯片每页为128个字节)。超出去的就读写不了,这会是什么原因造成的?

收藏 评论7 发布时间:2023-3-27 22:17

举报

7个回答
废鱼 回答时间:2023-3-28 08:40:56

这个需要看代码是如何控制的。写入时需要考虑页内地址的变换。可以用逻辑分析仪配合测试,通过波形判断原因。

晒太阳的懒猫 回答时间:2023-3-28 09:03:52

印象里,页写入操作应该只限于当前页内的操作啊。主要是还是要看芯片的。你查查资料。

Pure Tiger 回答时间:2023-3-28 09:29:30

废鱼 发表于 2023-3-28 08:40
这个需要看代码是如何控制的。写入时需要考虑页内地址的变换。可以用逻辑分析仪配合测试,通过波形判断 ...

[md]我这里已经可以写入485个字节,也就是可以写入3页多的字节(128为一页),说明我的地址处理的没问题,不然读取不出来,

Pure Tiger 回答时间:2023-3-28 09:33:18

我今天在调试的过程中,当我发生超过485个字节的时候,出现的具体卡住的位置是在检查EEPROM时,我发送停止信号时,出现了could not stop cortex-M device!Please check the JTAG cable。但是我发送485个字节一下时,调试的时候又是正常的,不会卡住。

废鱼 回答时间:2023-3-29 08:30:56

Pure Tiger 发表于 2023-3-28 09:33
我今天在调试的过程中,当我发生超过485个字节的时候,出现的具体卡住的位置是在检查EEPROM时,我发送 ...

[md]可能是数组溢出,检查一下数组的应用,是不是指针操作时,有错误的地方。

butterflyspring 回答时间:2023-3-29 09:51:35
很奇怪,模拟I2C一般都是软件操作IO口翻转,理论上不应该会卡住的。楼主的应用中还要其他的功能代码么?如果有,可以屏蔽一下试试。
Pure Tiger 回答时间:2023-3-31 11:25:05

butterflyspring 发表于 2023-3-29 09:51
很奇怪,模拟I2C一般都是软件操作IO口翻转,理论上不应该会卡住的。楼主的应用中还要其他的功能代码么?如 ...

我已经利用最小系统的方式去处理EEPROM的读写了,但就是出现超过 485个字节,就会出现“could not stop cortex-m device!please check the jtag cable”,如果不超过,又可以正常的读写。一直没能够查找到这具体是什么原因造成的。

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版