STM32使用串口DMA发送+空闲中断

/*

使用串口DMA发送+空闲中断

注意使能串口中断和DMA中断

考虑发送超时处理机制。

*/

void init_Myuart(void){

HAL_UARTEx_ReceiveToIdle_DMA(&huart1,rx_buf, sizeof(rx_buf));

}

void myuart_send(uint8_t * send_data,uint16_t lenght)

{

HAL_UART_Transmit_DMA(&huart1,(uint8_t *)&send_data,lenght));

}

void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)

{

if(huart->Instance == USART1) {

;

}

if(huart->Instance == USART2) {

;

}

}

void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)

{

if (huart->Instance == USART1) {

;

}

if(huart->Instance == USART2) {

;

}

}

void USART1_IRQHandler(void)

{

/* USER CODE BEGIN USART1_IRQn 0 */

/* USER CODE END USART1_IRQn 0 */

HAL_UART_IRQHandler(&huart1);

/* USER CODE BEGIN USART1_IRQn 1 */

HAL_UARTEx_ReceiveToIdle_DMA(&huart1,rx_buf, sizeof(rx_buf)-1);//回调完后需要再次启用

/* USER CODE END USART1_IRQn 1 */

}

相关推荐
__基本操作__1 小时前
历遍单片机下的IIC设备[ESP--0]
单片机·嵌入式硬件
网易独家音乐人Mike Zhou7 小时前
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
c语言·python·单片机·物联网·算法·嵌入式·iot
zy张起灵7 小时前
48v72v-100v转12v 10A大功率转换电源方案CSM3100SK
经验分享·嵌入式硬件·硬件工程
PegasusYu10 小时前
STM32CUBEIDE FreeRTOS操作教程(九):eventgroup事件标志组
stm32·教程·rtos·stm32cubeide·free-rtos·eventgroup·时间标志组
lantiandianzi14 小时前
基于单片机的多功能跑步机控制系统
单片机·嵌入式硬件
文弱书生65614 小时前
输出比较简介
stm32
哔哥哔特商务网14 小时前
高集成的MCU方案已成电机应用趋势?
单片机·嵌入式硬件
跟着杰哥学嵌入式14 小时前
单片机进阶硬件部分_day2_项目实践
单片机·嵌入式硬件
电子科技圈15 小时前
IAR与鸿轩科技共同推进汽车未来
科技·嵌入式硬件·mcu·汽车
东芝、铠侠总代1361006839316 小时前
浅谈TLP184小型平面光耦
单片机·嵌入式硬件·物联网·平面