团队、您好!
我们使用的是 TMS570LC4357评估板、在其中测试 SCI3。
我们已根据数据表正确配置了该器件、并启用了环回模式。
当初始化后保持断点时、它可以正常工作。
观察结果: 代码流程如下:
InitSci(),
TransmitByte(),
ReceiveByte()。
由于它是环回模式、我们正在监视寄存器 RD 和 TD 以进行结果验证。
如果我们将断点放在 TransmitByte()上,那么我们将继续执行,这样所有的字节都将顺利传输,我们也可以在 RD 寄存器上看到它。
但是,如果我们从 TransmitByte()行删除断点,并直接从 main()运行代码。
在这种情况下、TD 寄存器正在填充数据、但 RD 寄存器未接收任何字节、并且它一直等待 RX RDY 标志置位。
请注意、标志寄存器= 0x00000900。
我们尝试在 InitSci ()和 TransmitByte () API 之间也保留一些延迟,但观察到的行为是相同的。
我们怀疑 sciInit() API 后控制器没有获得足够的时间/周期来使 Rx 为接收做好准备。
这里有人能帮助我解决这个问题吗?
