近期用这个尘封已久的平台(PCA10040开发板)调试一个外部 SPI 设备,发现通过串口输出调试信息,有时候能输出,有时候不能输出,本来好好的能正常输出呢,结果重新上电一下,就无法输出了,感觉颇为恼火。
经过一番周折,发现串口配置的时候,要禁用流控,就可以了,具体配置如下:这样配置就只需要两根线就能完成调试信息输出了,一根地线,一根 Tx 线。
void uart_init(void)
{
uint32_t err_code;
const app_uart_comm_params_t comm_params =
{
RX_PIN_NUMBER,
TX_PIN_NUMBER,
RTS_PIN_NUMBER,
CTS_PIN_NUMBER,
APP_UART_FLOW_CONTROL_DISABLED,// 这样配置就禁用了流控
false,
UART_BAUDRATE_BAUDRATE_Baud921600
};
APP_UART_FIFO_INIT(&comm_params,
UART_RX_BUF_SIZE,
UART_TX_BUF_SIZE,
uart_error_handle,
APP_IRQ_PRIORITY_LOW,
err_code);
APP_ERROR_CHECK(err_code);
}