根据您的描述,可能是您在接收中断中未正确处理RX_FIFO中的数据导致的问题。当接收中断触发时,应该从RX_FIFO中读取所有的数据,并将RX_POINTER_F更新为RX_FIFO中新的数据起始位置。否则,RX_POINTER_F将会指向上一次读取的位置,导致访问RX_FIFO时读取到的是旧的数据,而不是新的数据。
另外,关于RBR和THR指向同一地址的问题,这是因为UART的数据收发是通过RBR和THR寄存器进行的。当收到一个字节时,UART会将其存储在FIFO中,并将其写入RBR寄存器。当要发送一个字节时,将要发送的数据写入THR寄存器,UART将从THR寄存器中读取数据并发送到外部设备。因此,RBR和THR指向的是同一FIFO地址,但在不同的时刻起到不同的作用。
根据您的描述,可能是您在接收中断中未正确处理RX_FIFO中的数据导致的问题。当接收中断触发时,应该从RX_FIFO中读取所有的数据,并将RX_POINTER_F更新为RX_FIFO中新的数据起始位置。否则,RX_POINTER_F将会指向上一次读取的位置,导致访问RX_FIFO时读取到的是旧的数据,而不是新的数据。
另外,关于RBR和THR指向同一地址的问题,这是因为UART的数据收发是通过RBR和THR寄存器进行的。当收到一个字节时,UART会将其存储在FIFO中,并将其写入RBR寄存器。当要发送一个字节时,将要发送的数据写入THR寄存器,UART将从THR寄存器中读取数据并发送到外部设备。因此,RBR和THR指向的是同一FIFO地址,但在不同的时刻起到不同的作用。
举报