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 */

}

相关推荐
崇山峻岭之间2 分钟前
单片机低功耗实验
单片机·嵌入式硬件
周周记笔记5 分钟前
【元器件专题】PNP三极管如何搭建开关电路
单片机·嵌入式硬件
不脱发的程序猿25 分钟前
如何创建一个标准Skill,让嵌入式经验真正复用起来
人工智能·单片机·嵌入式硬件·嵌入式·skill
czhaii30 分钟前
STC8H8K32U工控板运行程序标志位显示
单片机·嵌入式硬件
BT-BOX38 分钟前
基于STM32物联网WiFi云平台温湿度烟雾报警器设计
stm32·嵌入式硬件·物联网
小慧102441 分钟前
STM 32 TIM定时器(1)
单片机·嵌入式硬件
崇山峻岭之间12 小时前
单片机LCD实验
单片机·嵌入式硬件
m0_3771081412 小时前
STM32-adc
stm32·单片机·嵌入式硬件
【云轩】14 小时前
如何设计一台能模拟电机的电子负载:一个硬件工程师的实战笔记
笔记·嵌入式硬件
SmartRadio14 小时前
STM32WLE5 LoRa Smart TDMA 完整协议栈实现(工程级可直接编译)-【1】
javascript·stm32·单片机·嵌入式硬件·lora·自组网·smart tdma