uart接收数据在,在发送完成中断回调的时候使能接收数据中断,在接收数据完成的再次使能接收中断。
static void UART0_RX_Callback(uint8 Instance, Uart_EventType Event) {
if (Event == UART_EVENT_END_TRANSFER) {
g_rxComplete = TRUE;
serial_protocol_isr_recv_byte(s_uart_proto, s_rx_data);
s_rx_data = 0;
Uart_Hal_ReceiveData(Instance, &s_rx_data, 1);
}
}
/* 发送回调 */
static void UART0_TX_Callback(uint8 Instance, Uart_EventType Event) {
if (Event == UART_EVENT_END_TRANSFER) {
g_txComplete = TRUE;
Uart_Hal_ReceiveData(Instance, &s_rx_data, 1);
}
}
serial_protocol_isr_recv_byte(s_uart_proto, s_rx_data);将接收的数据存入到唤醒fifo