I2c eeprom示例问题

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
4个职位/ 0个新职位
最后发表
Thanhtu131
离线
最后看到:7个月3个星期前
加入:2018-09-18 17:44
I2c eeprom示例问题

你好,请帮助,我构建和调试(uart接口)的i2c_eeprom示例没有任何修改。我没有连接任何eeprom引脚P0_2和P0_3。所以在putty终端一定要打印出一些错误代码,但是代码操作卡住了某个地方。这里我清除了所有的测试,但测试4,我把一些日志在项目中,我发现代码操作卡在WAIT_UNTIL_I2C_FIFO_IS_EMPTY();如何修复这个错误??谢谢

我尝试用我的ds3231 rtc模块进行测试。我将地址从地址设置为0x68。试着从地址02h读取一个字节。代码卡在WAIT_FOR_RECEIVED_BYTE();我不知道如何修复这个,我尝试了另一个ds1307,同样的错误发生了

当我使用eeprom AT24C256时,构建和调试代码(没有修改,地址是0x50)相同的错误发生,但从eeprom读取时卡在测试2

附件:
设备:
PM_Dialog
离线
最后看到:3天11小时前
工作人员
加入:2018-02-08 11:03
嗨Thanhtu131,

嗨Thanhtu131,

您正在使用SDK I2C示例代码吗?您是否向正在使用的i2C接口发送了正确的命令?

谢谢,PM_Dialog

Thanhtu131
离线
最后看到:7个月3个星期前
加入:2018-09-18 17:44
是的,我用的是SDK 5.0.4 I2C

是的,我使用了SDK 5.0.4 I2C示例代码。我可以读取ds1307数据一对时间,然后我不能再次读取它,我试图再次下载SDK a并运行它,但错误仍然发生。可能是DA14580硬件错误吗?因为我可以使用ds1307模块正常与我的raspberry pi3+(i2c接口)。DA14580 i2c FIFO寄存器是否已经损坏?

我试图禁用所有的读取测试并连接eeprom。所有的写测试工作,但它适用于我定义的所有从地址(0x12, 0x15,0x50),而只有0x50是正确的。再次,当我启用读测试2时,代码停留在WAIT_FOR_RECEIVED_BYTE()为我定义的每个地址

PM_Dialog
离线
最后看到:3天11小时前
工作人员
加入:2018-02-08 11:03
嗨Thanhtu131,

嗨Thanhtu131,

您正在使用的Τhe I2C驱动程序用于连接EEPROM内存。实现是通过发送0x08轮询内存(如果内存已经准备好操作)并等待来自另一端的ACK。

对于WAIT_FOR_RECEIVE_BYTE(),宏检查计数接收数据的寄存器,如果你停留在那里,这意味着对方还没有给你发送任何东西。

检查您的连接上的线路和通过I2C总线的事务的状态,以检查您的I2C接口是否响应驱动程序发送的数据。另外,检查您正在发送的命令。

谢谢,PM_Dialog