i2c eeprom示例问题

⚠️
你好。。谢谢你来参加论坛。令人兴奋的消息!我们现在正在移动到我们的新论坛平台,将提供更好的功能,并包含在主对话网站的过程。所有帖子和账号都已迁移。我们现在只接受新论坛上的流量-请在//www.wsdof.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
4个职位/0个新职位
最后一篇文章
Thanhtu131号
离线
最后一次见到:4个月4天前
已加入:2018-09-18 17:44
i2c eeprom示例问题

你好,请帮忙,我建立和调试(uart接口)的i2cèeeprom的例子没有任何修改。我没有连接任何eeprom引脚P0\ 2和P0\ 3。所以在putty终端必须打印出一些错误代码,但是代码操作卡在了某个地方。在这里,我清除了除测试4之外的所有测试,我在项目中放置了一些日志,我发现代码操作停留在WAIT_,直到_I2C_FIFO_为_EMPTY();如何修复此错误??谢谢

我试着用ds3231rtc模块进行测试。我将地址从地址设置为0x68。并尝试从中读取地址02h处的1个字节。代码停留在WAIT_FOR_RECEIVED_BYTE();我不知道如何解决这个问题,我尝试了另一个ds1307,同样的错误发生了

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

附件:
设备:
PM\U对话框
离线
最后一次见到:1天4小时前
工作人员
已加入:2018-02-08 11:03
你好,Thanhtu131,

你好,Thanhtu131,

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

谢谢,下午好

Thanhtu131号
离线
最后一次见到:4个月4天前
已加入:2018-09-18 17:44
是的,我用的是sdk5.0.4i2c

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

我试图禁用所有的读取测试和连接eeprom。所有写测试都可以工作,但它对我定义的所有从机地址(0x12、0x15、0x50)都有效,而只有0x50是正确的。再一次,当我启用readtest2时,代码停留在WAIT_FOR_RECEIVED_BYTE(),用于我定义的每个地址

PM\U对话框
离线
最后一次见到:1天4小时前
工作人员
已加入:2018-02-08 11:03
你好,Thanhtu131,

你好,Thanhtu131,

Τ您正在使用的I2C驱动程序用于连接EEPROM存储器。该实现通过发送0x08轮询内存(如果内存准备好运行),并等待另一侧的ACK。

关于WAIT_FOR_RECEIVE_BYTE(),宏检查对接收到的数据进行计数的寄存器,如果您停留在那里,则表示另一方尚未向您发送任何内容。

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

谢谢,下午好