请选择 进入手机版 | 继续访问电脑版
查看: 1903|回复: 6

[求助] IIC 操作EEPROM问题

[复制链接]
  • TA的每日心情
    奋斗
    2020-11-28 10:06
  • 签到天数: 147 天

    [LV.7]常住居民III

    24

    主题

    267

    帖子

    0

    高级会员

    Rank: 4

    积分
    975
    最后登录
    2021-10-22
    发表于 2020-1-2 15:01:03 | 显示全部楼层 |阅读模式
    操作库函数写EEPROM(AT24C256),页大小64bytes;
    写的时候报错kStatus_LPI2C_Nak;
    这个什么情况,单步执行OK,全速运行不行

    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    648

    主题

    6301

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    19555
    最后登录
    2024-3-29
    发表于 2020-1-6 15:23:08 | 显示全部楼层
    我建议通过逻辑分析仪或者示波器观察波形,找出问题的原因,反推代码哪里设置不正确
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10

    主题

    40

    帖子

    0

    注册会员

    Rank: 2

    积分
    147
    最后登录
    2023-7-27
    发表于 2020-1-7 16:58:34 | 显示全部楼层
    问题描述清楚点呗。
    单步跟全速的区别就是延时嘛。

    1 是不是时钟太快了?
    2 是不是写等待时间不对?EEPROM写数据很慢的。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-11-28 10:06
  • 签到天数: 147 天

    [LV.7]常住居民III

    24

    主题

    267

    帖子

    0

    高级会员

    Rank: 4

    积分
    975
    最后登录
    2021-10-22
     楼主| 发表于 2020-1-8 12:29:41 | 显示全部楼层
    huangxuejia-292 发表于 2020-1-7 16:58
    问题描述清楚点呗。
    单步跟全速的区别就是延时嘛。

    提问描述有点问题,单步调试一般出问题是写了一页(64字节),写第二页的报错NACK。单步调试也不是每次都可以。EEPROM用的AT24C256,IIC总线可以速率最大1MHz,我现在用100KHz,代码参考正点原子RT1052  EEPROM部分代码;
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-11-28 10:06
  • 签到天数: 147 天

    [LV.7]常住居民III

    24

    主题

    267

    帖子

    0

    高级会员

    Rank: 4

    积分
    975
    最后登录
    2021-10-22
     楼主| 发表于 2020-1-10 10:00:38 | 显示全部楼层
    本帖最后由 walkout 于 2020-1-10 10:02 编辑

    找的原因了,EEPROM时序问题,一般上一个写停止条件到下一个写开始条件最大3~5ms,具体手册会有Twr时间。
    EEPROM写.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10

    主题

    40

    帖子

    0

    注册会员

    Rank: 2

    积分
    147
    最后登录
    2023-7-27
    发表于 2020-3-26 09:32:53 | 显示全部楼层
    这就是EEPROM写数据慢的原因啊。
    写一个数据最长要5ms,但是通常不要这么久。
    在规格书中有一个流程图教如何做:
    写操作之后,一直发送,当芯片回ACK,说明写操作已经完成。

    很多教程都是直接delay(10)ms。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-11-28 10:06
  • 签到天数: 147 天

    [LV.7]常住居民III

    24

    主题

    267

    帖子

    0

    高级会员

    Rank: 4

    积分
    975
    最后登录
    2021-10-22
     楼主| 发表于 2020-3-30 10:06:09 | 显示全部楼层
    huangxuejia-292 发表于 2020-3-26 09:32
    这就是EEPROM写数据慢的原因啊。
    写一个数据最长要5ms,但是通常不要这么久。
    在规格书中有一个流程图教如 ...

    是很慢。。。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-3-29 19:46 , Processed in 0.128904 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表