使用2块LPC860 MCU的LPCXpresso860-MAX开发板, 通过 keil 分别运行 demo 程序i3c_interrupt_b2b_transfer_master 和 i3c_interrupt_b2b_transfer_slave, master 程序在SDR read 的阶段, 在MCTRL 写入 0x6180(ADDR:0x30 slaver DDA, DIR:0x01 read, IBIRESP:0x10 ACK with
* mandatory byte)后, MERRWARN 值立即变为0x00000004 (I3C_MERRWARN_NACK_MASK:Not acknowledge (NACK) error), MSTATUS 值立即变为0x00009923 ,导致后续 master 接收不到 slaver 的SDR数据.
我真的不知道接下来该怎么做. 提供帮助将感激不敬.
Zahi_0-1731397577383.jpeg
Hi @Zahi
是的 我对照了我的开发板之间的连线与你的一样。
Harry_Zhang_0-1731987794435.png
我用的IDE 为了MCUXpresso IDE,SDK版本为2.15.
您是否可以换这个IDE尝试一下。
BR
Harry
是的, 烧录程序后, 关闭keil, 尝试过使用台式机或笔记本标准USB口, 未经任何hub转换, 未处于调试模式, 结果跟doc文档不一致, 均卡在 SDR READ 阶段. 请问有没有任何值得怀疑的地方呢?因为您那边看起来结果是OK的.
Zahi_0-1731921496628.png
Hi @Zahi
请问您是两个板子都是全速运行代码么?
Harry_Zhang_0-1731912533073.png
我尝试运行一下代码,是没有问题的。
BR
Harry
调试过程如下
Zahi_0-1731577038195.png
Zahi_1-1731577054333.png
Zahi_2-1731577099245.png
Zahi_3-1731577111226.png
Zahi_4-1731577120441.png
:
Hi @Harry_Zhang
感谢回复
我用的是官方示例
Zahi_0-1731576792596.png
然后代码调试看到 master 在SDR read 阶段 发送 I3C_MasterTransferNonBlocking 中, 给MCTRL写值后MERRWARN就变为0x00000004了
Hi @Zahi
请问您是用运行官方SDK的 I3C demo出现这个问题么?
BR
Harry