我认为对U0RBR寄存器每进行一次读操作之后,其中的数据会更新为FIFO里的下一个数据,但是在实际单步调试的时候我发现当往串口发数的时候,U0RBR在每条指令执行的时候就自动更新,我发80,01,02,03,04,05,06,07,08,09,0a这十一个数,到if((UINT8)uU0RBR.Word == 0x80这条指令执行时U0RBR已经为02了。。。我试验了一下rbr[i++] = U0RBR,发现在执行i++命令时U0RBR也更新了一次数据,我对ARM初次接触不理解,东西又催得紧,求大神帮我看下,不胜感激!!!
------解决方案--------------------
实时通讯不要用断点和单步调试。不然,一切都会乱掉,因为时序被打乱了。