stm32HAL库串口错误回调函数的使用

news/2025/2/21 8:01:58/

使用stm32HAL库串口IDLE中断时,有时串口速度快会导致串口出错后续就收不到数据了
可以通过实现串口中断回调函数来解决

void usart_DMA_rx_EN(UART_HandleTypeDef *huart,uint8_t *pData,uint16_t Size)
{
HAL_UARTEx_ReceiveToIdle_IT(huart,pData,Size);
//HAL_UARTEx_ReceiveToIdle_DMA(huart,pData,Size);
}

/* 中断错误处理函数,在此处理overrun错误 */
void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
{
if(huart == &huart2)
{
//执行HAL_UART_ErrorCallback时,还处于lock,需先unlock,
//因为HAL_UART_Receive_IT执行时需判断如果是lock则直接返回BUSY
__HAL_UNLOCK(huart);
usart_DMA_rx_EN(huart,rx_data,200);
}else if(huart == &huart1)
{
__HAL_UNLOCK(huart);
usart_DMA_rx_EN(huart,weight_data,100);
}
}


http://www.ppmy.cn/news/1201811.html

相关文章

穿越时空的探索:云计算如何塑造我们的未来世界

我们生活在一个充满奇迹的时代,这个时代由云计算引领和塑造。从智能家居到无人驾驶,从虚拟现实到人工智能,云计算像无所不能的超级英雄一样,深入影响着我们生活的方方面面。它不仅仅是一种技术革新,更是一种生活方式的…

群狼调研(长沙市场调研咨询)|如何提升水务营商环境满意度?

提升水务营商环境满意度需要综合性的策略和措施。以下是一些可以帮助提升水务营商环境满意度的方法: 1. 改善水质和供水稳定性: • 投资于水质监测、处理设备和供水网络的维护,确保供水的安全和稳定性。 • 定期检测水质,及时发…

【JavaEE】yapi平台搭建步骤详解

数据库 创建数据卷 docker volume create mongo-data启动 MongoDB docker run -d \--name mongo-yapi \-v mongo-data:/data/db \-e MONGO_INITDB_ROOT_USERNAMEroot \-e MONGO_INITDB_ROOT_PASSWORDberry.com \mongoyapi 拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.…

介意快递员激活流量卡?别着急,有几种方法不妨试试吧!

在网上购买的流量卡,快递员不仅仅只是派送,其实很多时候快递员还负责给你激活流量卡。 ​ 那么问题就来了,很多朋友可能因为时间问题,或者比较担心个人隐私问题,比较反感让快递员面对面激活,那么如果遇到快…

wx 小程序不打开调试模式无法获取数据

问题开始 最近学习小程序,发布了一个体验版的小程序,发现正常扫码进入后接口数据是无法访问的。也就是原始数据,不过开启调试模式后,数据又一切正常,但是总不能让每个人都开启调试模式用吧,终于查阅资料后找到了解决问题的办法 …

Java快速排序算法、三路快排(Java算法和数据结构总结笔记)[7/20]

一、什么是快速排序算法 快速排序的基本思想是选择一个基准元素(通常选择最后一个元素)将数组分割为两部分,一部分小于基准元素,一部分大于基准元素。 然后递归地对两部分进行排序,直到整个数组有序。这个过程通过 par…

数据结构(c语言版) 队列

链队列 要求&#xff1a;实现链队列的创建、初始化、入队、出队 &#xff08;先进先出&#xff09; 代码 // // Created by My.cy on 2023/10/19. // //链队列 创建、初始化、入队、出队 先进先出#include <stdio.h> #include <malloc.h>//定义结构体 struct…

HarmonyOS应用实践-UIAbility的使用

什么是UIAbility? UIAbility是一种包含用户界面的应用组件&#xff0c;主要用于和用户进行交互。同时它也是系统调度的单元&#xff0c;为应用提供窗口在其中进行绘制页面。 每个UIAbility实例&#xff0c;都对应着一个最近任务列表中的人物。 一个应用可以有一个UIAbility&a…