STM32 HAL DMA 中断碰到的问题

流程

串口收数据—>dma搬运到变量—>空闲中断----->接收完成

配置

dma中断全部去掉
在这里插入图片描述

串口中断开启
freertos中断全部去掉
在这里插入图片描述

时钟配置

在这里插入图片描述

代码

开启中断

// DMA 空闲检查
void receives_uaru_7(void)
{
	RXU7 = 0;//清除中断标志
	HAL_UARTEx_ReceiveToIdle_DMA(&huart7, Buff_U7, sizeof_U7);//储存接收数据
	//HAL_UARTEx_ReceiveToIdle_IT(&huart7, Buff_U7, sizeof_U7);
}


// dma中断回调
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
{
    if (huart->Instance == UART7)
    {
        if (Size <= sizeof_U7)
        {
			//停止dma中断
            HAL_UART_DMAStop(huart);
            //将数据传到cmd处理
			Buff_LEN_U7 = Size;//获取接收的数据长度
			RXU7 = 1;//标志中断
			
        }
		
    
}

处理中断

	for (;;)
	{
		if(RXU7 == 1){//检测到中断
			U7();
			receives_uaru_7();//启动中断 和清除标志
		}
		osDelay(1);
	}

中断错误

// dma 错误回调
void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
{
	if (huart->Instance == UART7)
	{
        printf("串口7 dma 发生错误 可能是 缓冲区溢出 波特率错误\n");
		receives_uaru_7();
	}else if (huart->Instance == USART1){
		printf("串口1 dma 发生错误 可能是 缓冲区溢出 波特率错误\n");
		receives_uaru_1();
	}else if (huart->Instance == USART6){
		printf("串口6 dma 发生错误 可能是 缓冲区溢出 波特率错误\n");
		receives_uaru_6();
	}else if (huart->Instance == UART4){
		printf("串口4 dma 发生错误 可能是 缓冲区溢出 波特率错误\n");
		receives_uaru_4();
	}else if (huart->Instance == UART5){
		printf("串口5 dma 发生错误 可能是 缓冲区溢出 波特率错误\n");
		receives_uaru_5();
	}
}

问题

间歇性出现 中断报错
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/874033.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【学习笔记11】如何找到twitter中自己的cookie?

步骤 在浏览器中打开twitter网站&#xff0c;按下CtrlShiftI(i)按下面步骤以此点击 参考 如何找到自己的Facebook XS Cookie和X/Twitter Auth_Token? 一張圖秒懂

二、Maven工程的创建--JavaSEJavaEE

1、idea创建Maven JavaSE工程&#xff1a; 2、idea创建Maven JavaEE工程&#xff1a; &#xff08;1&#xff09;手动创建 &#xff08;2&#xff09;插件方式创建 在idea里安装插件JBLJavaToWeb&#xff1b; 选择需要生成的项目文件后&#xff0c;右击&#xff1a; 项目…

【实战篇】MySQL为什么有时候会选错索引?

场景分析 1 如下数据库表&#xff1a; CREATE TABLE t (id int(11) NOT NULL AUTO_INCREMENT,a int(11) DEFAULT NULL,b int(11) DEFAULT NULL,PRIMARY KEY (id),KEY a (a),KEY b (b) ) ENGINEInnoDB;然后&#xff0c;我们往表 t 中插入 10 万行记录&#xff0c;取值按整数递…

那些35岁以上的产品经理都去做什么了?

前言 升成管理层的一批&#xff0c;改行去开店的一批&#xff0c;剩下来在干产品经理的也不少&#xff0c;能在35岁之后还干产品经理的&#xff0c;都是人精&#xff0c;知道适者生存&#xff0c;知道要跟着大势走。 现在的大势是啥&#xff1f;AI呀&#xff01; 我那些干了…

【delphi】判断多显示器下,程序在那个显示其中

在 Delphi 中&#xff0c;如果你的电脑连接了多个显示器&#xff0c;可以通过以下步骤判断某个程序在哪个显示器上运行。 方法概述&#xff1a; 获取程序窗口的位置&#xff08;例如窗体的 Left、Top 坐标&#xff09;。使用 Screen.MonitorFromWindow 函数来确定该窗口所属的…

面了 5 家知名企业的NLP算法岗(大模型方向),被问麻了。。。。。

最近一位同学&#xff0c;给我分享了他面试 NLP 算法工程师(大模型方向)的经历与经验。直呼最近找工作太难了。。。。 今天我整理后分享给大家&#xff0c;希望对后续找工作的有所帮助。 这位同学为面试刷了 leetcode200-300 题左右&#xff0c;侧重刷中高频hard题&#xff0…

图的广度优先遍历与深度优先遍历(C语言)

这是结果 #include <stdio.h> #include <stdlib.h> #include <stdbool.h>#define _CRT_SECURE_NO_WARNINGS// 定义边表结点结构 typedef struct EdgeNode {int adjvex; // 邻接顶点域&#xff0c;存储该边所指向的顶点struct EdgeNode* next; // 指向下一条…

LLM 大模型产品经理学习指南:【2024 全新版】极致详细,一篇搞定!

前言 随着人工智能技术的蓬勃发展&#xff0c;尤其是大模型&#xff08;Large Model&#xff09;的强势兴起&#xff0c;越来越多的企业对这一领域愈发重视并加大投入。作为大模型产品经理&#xff0c;需具备一系列跨学科的知识与技能&#xff0c;方能有效地推动产品的开发、优…

六西格玛质量管理:让质量成为竞争的关键-优思学院

前言&#xff1a;六西格玛的传奇之路 提起质量管理&#xff0c;六西格玛无疑是绕不开的一个话题。从摩托罗拉到通用电气&#xff0c;从制造业到服务业&#xff0c;六西格玛质量管理的方法已经走遍全球&#xff0c;成为许多企业成功的关键。无论是提高产品质量、减少浪费&#…

DevC++编译及使用Opencv

1.依赖 需要如下依赖&#xff1a; DevC11Opencv4.10.0CMake.exe 整个安装过程参考下面的文章&#xff1a;https://blog.csdn.net/weixin_41673576/article/details/108519841 这里总结一下遇到的问题。 2.问题 2.1 DevC安装路径 一定不要有空格&#xff01;&#xff01;否则…

kubectl的安装使用

1. Windows下载kubectl 2.将kucectl的所在目录添加到PATH环境变量下 3.运行 kubectl version --client 命令来测试kubectl是否正确安装并显示其版本信息。这个命令会显示kubectl客户端的版本信息&#xff0c;如果一切正常&#xff0c;这将确认kubectl已经成功安装在你的Windo…

Git 学习与使用

0 认识⼯作区、暂存区、版本库 ⼯作区&#xff1a;是在电脑上你要写代码或⽂件的⽬录。 暂存区&#xff1a;英⽂叫stage或index。⼀般存放在.git ⽬录下的index⽂件&#xff08;.git/index&#xff09;中&#xff0c;我们 把暂存区有时也叫作索引&#xff08;index&#xff09;…

UDS 诊断 - ReadDTCInformation(读取 DTC 信息)(0x19)服务(2) - 请求消息

UDS 诊断服务系列文章目录 诊断和通信管理功能单元 UDS 诊断 - DiagnosticSessionControl&#xff08;诊断会话控制&#xff09;&#xff08;0x10&#xff09;服务 UDS 诊断 - ECUReset&#xff08;ECU重置&#xff09;&#xff08;0x11&#xff09;服务 UDS 诊断 - SecurityA…

怎么样处理浮毛快捷又高效?霍尼韦尔、希喂、米家宠物空气净化器实测对比

掉毛多&#xff1f;掉毛快&#xff1f;猫毛满天飞对身体有危害吗&#xff1f;多猫家庭经验分享篇&#xff1a; 一个很有趣的现象&#xff0c;很多人在养猫、养狗后耐心都变得更好了。养狗每天得遛&#xff0c;养猫出门前得除毛&#xff0c;日复一日的重复磨练了极好的耐心。我家…

SprinBoot+Vue学生信息管理系统的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平台Java领域优质…

CSP-CCF★★201809-2买菜★★

目录 一、问题描述 二、解答&#xff1a; 三、总结 一、问题描述 问题描述 小H和小W来到了一条街上&#xff0c;两人分开买菜&#xff0c;他们买菜的过程可以描述为&#xff0c;去店里买一些菜然后去旁边的一个广场把菜装上车&#xff0c;两人都要买n种菜&#xff0c;所以也…

C 408—《数据结构》算法题基础篇—链表(上)

目录 Δ前言 一、链表中特定值结点的删除 0.题目&#xff1a; 1.算法设计思想&#xff1a; 2.C语言描述&#xff1a; 3.算法的时间和空间复杂度&#xff1a; 二、链表链表最小值结点的删除 0.题目 : 1.算法设计思想 : 2.C语言描述 : 3.算法的时间和空间复杂度 : 三、链…

【前端】探索webpack3项目build速度优化, 优化个p

文章目录 背景uglifyjs-webpack-pluginwebpack3 压缩混淆js 优化踩坑。结论 背景 webpack3 babel7 uglifyjs-webpack-plugin的项目&#xff0c;build起来是什么体验。 大抵是写了两个月后&#xff0c;发现build时间从120s激增到400s。而这400秒中&#xff0c;有50多秒是Ugli…

如何看待IBM中国研发部裁员?三个方向快速解析

如何看待IBM中国研发部裁员&#xff1f; 近日&#xff0c;有媒体从IBM中国方面确认&#xff0c;IBM将彻底关闭中国研发部门&#xff0c;涉及员工数量超过1000人。 3分钟裁员上千人&#xff01; IBM中国宣布撤出在华两大研发中心&#xff0c;引发了IT行业对于跨国公司在华研发战…

ubuntu16.04下qt5.7.1添加对openssl的支持

文章目录 前言一、编译安装openssl二、编译qt5.7.1三、配置qtcreator开发环境四、demo 前言 最近工作中要求客户端和服务端通过ssl加密通信,其中客户端是qt编程,服务端是linux编程.我的开发环境是ubuntu16.04;运行环境是debian9.13,是基于gnu的linux操作系统,64位arm架构. 一…