我正在研究商用声纳的操作系统。
此测试阶段使用 TM4C1294XL LaunchPad 作为平台。
我正在将4800波特的串行端口的 UART3_base 用于接收来自主机操作系统的指令。
端口中断设置为接收中断和接收超时中断:
UARTIntEnable (UART3_BASE、UART_INT_RX | UART_INT_RT);
在命令接收阶段、系统捕获~40字节的命令信息、然后跳转到接收阶段。 在接收周期内、系统将接收包含5字节稳定性信息的数据包。 这两句话都使用0x9F 作为终止字符。
我遇到了系统在几个范围内无法同步的问题。
通过一些分析、我发现在接收到完整的消息之前、命令段从收集循环中跳出。 我想是当它进入命令时串行端口抓住了稳定消息的末尾。
我禁用了 FIFO、然后通过在进入稳定阶段时禁用 UART_INT_RX 来找到该 FIFO、然后在我离开例程后使系统正常运行。
这看起来不错、但我想知道这为什么起作用。 文档内容有点少。 默认情况下 FIFO 的大小是多少?
感谢大家提供的所有信息、
拜伦

