如题,关于UART5的使用问题,参看如下代码注释部分:
board.c
#define BSP_USING_UART1 //DEBUG调试口
#define BSP_UART1_TX_PIN "PA9"
#define BSP_UART1_RX_PIN "PA10"
#define BSP_USING_UART2
#define BSP_UART2_TX_PIN "PD5"
#define BSP_UART2_RX_PIN "PD6"
#define BSP_UART2_RX_USING_DMA
#define BSP_UART2_TX_USING_DMA
#define BSP_USING_UART3
#define BSP_UART3_TX_PIN "PB10"
#define BSP_UART3_RX_PIN "PB11"
#define BSP_UART3_RX_USING_DMA
#define BSP_UART3_TX_USING_DMA
#define BSP_USING_UART4
#define BSP_UART4_TX_PIN "PC10"
#define BSP_UART4_RX_PIN "PC11"
#define BSP_UART4_RX_USING_DMA
#define BSP_UART4_TX_USING_DMA
#define BSP_USING_UART5 //串口5无DMA功能
#define BSP_UART5_TX_PIN "PC12"
#define BSP_UART5_RX_PIN "PD2"
uart_init.c
uint8_t uart5_init(void)
{
/* 查找串口设备 */
uart5 = rt_device_find(UART_NAME);
if (!uart5)
{
rt_kprintf("find %s failed!\n", UART_NAME);
return RT_ERROR;
}
config.baud_rate = BAUD_RATE_115200;
config.data_bits = DATA_BITS_8 ;
config.stop_bits = STOP_BITS_1 ;
config.parity = PARITY_NONE ;
config.bufsz = 256 ;
rt_device_control(uart5, RT_DEVICE_CTRL_CONFIG, &config);
rt_device_open(display_uart, RT_DEVICE_OFLAG_RDWR|RT_DEVICE_FLAG_INT_RX);//去掉DMA的方式,以读写中断的方式打开。
return 0;
}
串口5 没有DMA。初始化打开不能以DMA的方式打开,否则无法打开