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

ops/2024/9/24 7:05:29/

/*
使用串口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 */
}


http://www.ppmy.cn/ops/94682.html

相关文章

a 方法调用 b 方法 2个方法都有事务,且传播特性相同或不同。举例所有排列组合场景,并详细说明

在Java中,事务的传播特性定义了方法调用中事务的行为。常见的传播特性包括: REQUIRED(默认):如果当前存在事务,则加入该事务;如果没有事务,则创建一个新的事务。 REQUIRES_NEW&…

掌握系统思维:如何成为项目比赛中的制胜法宝

掌握系统思维:如何成为项目比赛中的制胜法宝 前言系统思维:项目管理的核心竞争力整体大于部分之和系统思维的实践应用涌现性:团队协作的奇迹系统科学的启示结语 前言 在这个快速变化的时代,项目管理不仅仅是关于任务的完成&#x…

在Ubuntu上有什么命令,或者是系统文件能告诉我链接nvme ssd的pcie槽位是不是支持热插拔功能?

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

【网络编程】TCP实现网络通信(C语言、Ubuntu实现)

TCP服务器通信模型:(分为以下6个步骤) 1、sfd socket(); //创建一个用于连接的套接字文件描述符 2、bind(); //为服务器套接字绑定ip地址和端口号,为了让客户端额能够找到服务器 3、l…

vsc远程连接centos

1.查看linux系统下的用户名和ip地址 2。安装远程目录 3.远程连接linux下的centos系统 此时说明:已经添加连接成功了,后面只需正常点击连接即可 连接成功

【学习笔记】Matlab和python双语言的学习(图论最短路径)

文章目录 前言一、图论基本概念示例 二、代码实现----Matlab三、代码实现----python总结 前言 通过模型算法,熟练对Matlab和python的应用。 学习视频链接: https://www.bilibili.com/video/BV1EK41187QF?p36&vd_source67471d3a1b4f517b7a7964093e6…

mysql数据操作语言(初识)

我最近开了几个专栏,诚信互三! > |||《算法专栏》::刷题教程来自网站《代码随想录》。||| > |||《C专栏》::记录我学习C的经历,看完你一定会有收获。||| > |||《Linux专栏》&#xff1…

C# 学习笔记17:上位机助手_页面生成多控件滚动效果_保存与加载控件文本到文件_多字符串发送界面

今日继续完善更新我的上位机助手,这次完善多字符串发送的部分: 目前上位机助手支持以下功能: 1、 普通的16进制\ASCLL显示收发 2、 全页更新HEX显示(会自动断串口) 3、 日志辅助显示报错 4、 必要的清除日志区、接…