器件型号: MSPM0C1106-Q1
我正在通过 UART 接收数据、但如果没有收到足够的数据、我希望超时触发故障。 我已启用 UART FIFO、并使用 DMA 将接收到的数据移动到 SRAM 中的缓冲区。 我在 UART 数据的标头中有一个长度字段(因此每个接收到的数据可以具有不同的长度)、并根据此长度字段来配置 DMA。 但是、如果此长度字段发生位翻转或主机的通信停止、我的 DMA 仍在等待更多数据、并且不会触发接收完成中断。 因此、我想使用计时器来防止这种故障模式。 是否有办法可以将器件设置为每个接收到的 UART 帧、然后重置/重新加载计时器?
未重新配置或重新加载计时器时、计时器将超时并触发中断。 请注意、计时器的信号可以是 UART 接收、UART FIFO 触发、甚至是 DMA 将 1 个字节从 FIFO 移动到 SRAM。