使用C6654串口0 连续接收其他芯片的发送的心跳信号(100ms一次,比特率为115200),使用仿真器在线调试,发现每次接受一条指令并回复后,就无法接受后续指令了,查看串口寄存器,发现LSR寄存器为0x63,也就是出现了overrun error,请问这种错误一般是有什么造成的?
但是把程序下载到DSP的Nor Flash中离线运行,发现完全正常,只有在线仿真调试才会遇到这个问题。
Shine:
请看一下PWREMU_MGMT.FREE位是不是1?这样在仿真器模式下,uart还是正常运行的,不会导致overrun。
user4504841:
回复 Shine:
各个寄存器状态如下:
有问题吗?
user4504841:
回复 Shine:
发现DSP只要通过串口0发送一次数据后,就无法接收数据,无法再次进入接收中断。
如果不发送,只是通过串口0一直接收是没有问题的。
Shine:
回复 user4504841:
请先试一下DLB自环模式看是否能连续发送。