Files
B_Current_Ctrl/BSP/drv_uart.c
T
2025-08-28 16:37:05 +08:00

117 lines
2.0 KiB
C

#include "drv_uart.h"
#include "stdio.h"
UART_RX_FIFO_t TTL_1_rx;
UART_TX_FIFO_t TTL_1_tx;
UART_RX_FIFO_t RS232_1_rx;
UART_TX_FIFO_t RS232_1_tx;
UART_RX_FIFO_t RS232_2_rx;
UART_TX_FIFO_t RS232_2_tx;
UART_RX_FIFO_t RS485_1_rx;
UART_TX_FIFO_t RS485_1_tx;
void init_uart_fifos(void)
{
#if UART1_RX_ENABLE
if (UART_RX_FIFO_open(&debug_rx, MAKE_STR(debug_rx), &huart1, UART1_RX_ENABLE, UART_FIFO_DMA))
{
Error_Handler();
}
#else
UART_RX_FIFO_uninit(&debug_rx);
#endif
#if UART1_TX_ENABLE
if (UART_TX_FIFO_open(&debug_tx, MAKE_STR(debug_tx), &huart1, UART1_TX_ENABLE, UART_FIFO_DMA))
{
Error_Handler();
}
#else
UART_TX_FIFO_uninit(&debug_tx);
#endif
#if UART2_RX_ENABLE
if (UART_RX_FIFO_open(&pwr_rx, MAKE_STR(pwr_rx), &huart2, UART2_RX_ENABLE, UART_FIFO_DMA))
{
Error_Handler();
}
#else
UART_RX_FIFO_uninit(&pwr_rx);
#endif
#if UART2_TX_ENABLE
if (UART_TX_FIFO_open(&pwr_tx, MAKE_STR(pwr_tx), &huart2, UART2_TX_ENABLE, UART_FIFO_DMA))
{
Error_Handler();
}
#else
UART_TX_FIFO_uninit(&pwr_tx);
#endif
#if UART3_RX_ENABLE
if (UART_RX_FIFO_open(&hub_rx, MAKE_STR(hub_rx), &huart3, UART3_RX_ENABLE, UART_FIFO_DMA))
{
Error_Handler();
}
#else
UART_RX_FIFO_uninit(&hub_rx);
#endif
#if UART3_TX_ENABLE
if (UART_TX_FIFO_open(&hub_tx, MAKE_STR(hub_tx), &huart3, UART3_TX_ENABLE, UART_FIFO_DMA))
{
Error_Handler();
}
#else
UART_TX_FIFO_uninit(&hub_tx);
#endif
#if LPUART1_RX_ENABLE
if (UART_RX_FIFO_open(&ui_rx, MAKE_STR(ui_rx), &hlpuart1, LPUART1_RX_ENABLE, UART_FIFO_DMA))
{
Error_Handler();
}
#else
UART_RX_FIFO_uninit(&ui_rx);
#endif
#if LPUART1_TX_ENABLE
if (UART_TX_FIFO_open(&ui_tx, MAKE_STR(ui_tx), &hlpuart1, LPUART1_TX_ENABLE, UART_FIFO_DMA))
{
Error_Handler();
}
#else
UART_TX_FIFO_uninit(&ui_tx);
#endif
}
int fputc(int ch, FILE *f)
{
unsigned char buff;
UART_TX_FIFO_write(&debug_tx, &buff, 1);
return (ch);
}