手册上是说当RX-FIFO中的一个字节被CPU读出,RX_POINTER_F才会减一。我直接跑官方的UART_TxRx_Function例程,串口输入8个以上的字节是正常回显的。但是如果在接收中断里打一个断点单步调试,发现停在断电位置的时候RX_POINTER_F就已经少了2个字节了,而且每走一步RX_POINTER_F都会减2,这就导致之后去循环读取RBR的时候得到的数据不全。请问有人遇到过这个问题吗,是不是我什么地方没有配置好?
另外,我发现每走一步RX_POINTER_F减2的时候RBR和THR寄存器里的值刚好是被读出的两个字节,为什么会这样?而且我看手册里RBR和THR指向的是同一个地址,为什么会是两个不同的值?
我用的IAR,硬件是NuTiny-EVB-Nano130-LQFP128 V1.2开发板,仿真器是开发板上的Nu-Link-Me V1.5。 |