目录
CubeMX配置:
代码配置:
DMA通道接收:
u8 rx_buff[30];
u8 rx_data;
u8 buff_size = 0;
u32 rx_tick = 0;
//DMA+UART
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
rx_tick=uwTick;
HAL_UART_Receive_DMA(&huart1, &rx_data,1);
rx_buff[buff_size++]=rx_data;
}
DMA通道发送:
HAL_UART_Transmit_DMA(&huart1, (u8*)"你好,世界2!\r\n", sizeof("你好,世界1!\r\n"));
注意:
主函数中记得开启串口接收回调函数:
加了DMA的UART接收通道和一般的区别:
加了DMA的UART发送和一般的区别:
DMA模式下无法重定向,并且不需要考虑反应时间。