本文主要是介绍蓝桥杯嵌入式(G431)备赛笔记——DMA+UART,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
CubeMX配置:
代码配置:
DMA通道接收:
DMA通道发送:
注意:
主函数中记得开启串口接收回调函数:
加了DMA的UART接收通道和一般的区别:
加了DMA的UART发送和一般的区别:
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模式下无法重定向,并且不需要考虑反应时间。
这篇关于蓝桥杯嵌入式(G431)备赛笔记——DMA+UART的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!