您好!
我使用 CM UART 模块。
如果我有时发送错误的数据包并获取错误位 FE 并且 来自 UART_getRxError()。
在调用以下进程后 、UARTRSR 寄存器仍然具有 FE、并且不起作用(UART_clearRxError())。 建议使用的标准软件复位方法是什么?
UART_clearRxError( UART0_BASE );
UART_setConfig (UART0_BASE、UART_CLK_FREQ、921600,(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE));
UART_enableFIFO (UART0_BASE);
UART_setFIFOLevel (UART0_BASE、UART_FIFO_TX1_8、UART_FIFO_RX1_8);
2、UARTRSR 和 UARTECR 的地址是否与 0x4000C004相同? TRM 中的 UARTRSR 寄存器表示它是只读的。 但 UARTECR 可以写入任何值以清除状态。 这很奇怪。
3.我提到 SCI SciaRegs.SCICTL1.bit.SWRESET。 调用 SYSCTL_resetPeripheral (SYSCTL_Periph_RES_UART0)可以复位所有错误状态(请参阅下面的)。 这种方法是否有风险?
UART_clearRxError( UART0_BASE );
SYSCTL_resetPeripheral (SYSCTL_Periph_RES_UART0);
UART_setConfig (UART0_BASE、UART_CLK_FREQ、921600,(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE | UART_CONFIG_PAR_NONE));
UART_enableFIFO (UART0_BASE);
UART_setFIFOLevel (UART0_BASE、UART_FIFO_TX1_8、UART_FIFO_RX1_8);
谢谢