草庐IT

【STM32】基于HAL库的中断详细学习

目录1.中断概述1.1中断相关概念1.2STM32中断系统2.HAL库的中断处理2.1HAL库的中断封装2.2外部中断处理流程3.外部中断的HAL库定义3.1.外部中断的数据类型3.2.外部中断的接口函数1.中断概述在计算机系统中,处理器常常需要与外部设备进行数据传输。常见的数据传输方式有以下四种:1.无条件方式处理器不必了解外部设备的状态,直接进行数据传输,适用于指示灯和按键等简单设备。2.查询方式常用于处理器与慢速外部设备之间的数据传输。处理器与外部设备进行传输数据之前,先检查外部设备的状态。如果外部设备处于“准备好”状态(输入设备)或“空闲”状态(输出设备)时,才进行数据传输。否则将循环

STM32在Keil中使用串口助手打印中文字符出现乱码问题

问题 问题如下,中文字符显示乱码,但数字正常。原因通常这种在串口助手打印出现乱码情况:无非是波特率设置错误,不对应。就像一个滴水的水龙头,水滴进一个循环开合的容器,双方速率不能很好匹配,一定会出现水滴不能完全滴进容器,或者完全滴进或者完全滴不进的情况,把水滴当成字符编码,容器的水看成打印字符,所以出现乱码。还有就是编码方式,XCOM这款串口软件支持的是ANSI编码方式的,可以通过右键main.c文件通过文本查看。解决方式可以看到编码方式,这个是我已经修改过的,原编码方式是UTF-8。具体修改方式:右键-->编辑-->文件-->另存为-->选择编码方式,覆盖即可。

FOC电流双电阻采样两相电流幅值不等一系列问题

问题如上图。问题太大了!1.两相幅值不相等!2.噪声太大。究其原因:猜测:1.幅值不等可能是电机本身三相电阻不相等,电机做工问题。。。需要量量三相电阻阻值。2.幅值不等和噪声太大都可能是采样电阻取值过小。我的采样电阻是0.0005欧,电阻太小了。3.噪声太大可能是地线成环(老师傅的建议),需要修改PCB的GND和PGND铺铜,以下是修改后的PCB,我改成将PGND直接接电池和逆变桥,通过0Ω电阻传到GND,用于其他芯片的供电。不知道行不行,等待结果。希望大神们提提意见呜呜呜,孩子很迷茫主要改动是PGND和GND尽量分开,PGND布在底层,  

STM32串口溢出中断问题

应用原理STM32单片机与传感器通过串口通信,单片机串口采用中断方式接收传感器数据,同时单片机控制传感器上电。问题描述在一批设备中,有些设备开机能够正常读取传感器数据,有一小部分读取不到传感器的数据,出现了异常情况。问题排查1.确定传感器是否正常发数据示波器测量传感器的TX,波形正常。2.在线调试在线调试模式下,在串口接收中断中打断点,发现异常的设备无法进入串口中断。voidHAL_UART_RxCpltCallback(UART_HandleTypeDef*huart){uint8_tres; if(huart->Instance==USART4)// { USART4_RX_Buff[U

stm32cubemx下载安装

文章目录1、下载地址1-1、官网下载1-2、个人网盘备份:2、安装STM32CubeMX3、安装HAL库====================1、下载地址1-1、官网下载官网:stm32cubemx官网邮箱收到st发送过来的邮件:点击Downloadnow之后自动跳转打开网页,之后点GetSoftware之后自动下载了软件安装包,即下载完成;1-2、个人网盘备份:版本:SetupSTM32CubeMX-6.6.1-Win.exe链接:https://pan.baidu.com/s/1a1LiiRW7M1OCNCcbmBB3fQ提取码:mjcs2、安装STM32CubeMX选择想要的安装路径:

KEIL5、STM32CubeMX、STM32CubeIDE 下载、安装

 一、资源下载Keil5下载链接:https://www.keil.com/download/product/STM32 标准库芯片包下载链接:https://www.keil.com/dd2/pack/JDK下载链接:https://www.oracle.com/java/technologies/downloads/#jdk19-windows/STM32CubeMX 下载链接:https://www.st.com/zh/development-tools/stm32cubemx.html#get-softwareSTM32CubeIDE下载链接:https://www.st.com/zh

STM32——STLink的使用

文章目录STLink的使用一、STLink下载与安装1.STLink的下载2.STLink的安装二、STLink的配置STLink的使用首先第一步,连接线的VCC和GND别接反了本文粗略下载安装,详细描述配置一、STLink下载与安装1.STLink的下载到官网https://www.st.com/en/development-tools/stsw-link004.html下载对应版本的驱动(或者一些公众号分享的网盘,实在找不到可以私信我,我给你发,没人回可加QQ2227896924)2.STLink的安装安装环境:仅支持windows系统,不支持mac、Linux点击exe安装包一直点下一步

STM32--WDG看门狗

文章目录WDG简介IWDGIWDG的超时计算WWDGWWDG超时和窗口值设定独立看门狗工程WWDG工程WDG简介WDG看门狗(WatchdogTimer)是一种常见的硬件设备,在STM32F10系列中,有两种看门狗,分别是独立看门狗和窗口看门狗,可以用来监测系统的运行状态,并在系统出现故障或停止运行时采取相应措施,以确保系统的稳定性和可靠性。WDG看门狗一般采用一个计时器和一个喂狗机制组成。计数器会周期性的计数,当计数器所计次数达到阈值时,就会产生一个中断或系统复位;喂狗机制是在系统正常运行时,定期向看门狗喂狗,也就是重置计数器的计数值,防止计时器达到阈值导致系统复位。IWDG独立看门狗由内置

STM32 hal库串口空闲中断最新用法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、串口空闲中断是什么?二、使用步骤1.hal库空闲中断接收函数2.使用方法3.最终效果实际效果总结前言串口在单片机中是使用比较频繁的一部分,一般我们人机交互就会使用到串口。串口的输出比较简单直接调用发送函数即可,接收数据就要稍微麻烦一些,因为我们接收的一般是不定长的数据。但是最近使用到了stm32的串口接收的时候,发现hal库竟然有提供串口空闲中断接收函数,无需配置和自己写中断函数。一、串口空闲中断是什么?一般我们串口接收的时候都是使用的RXNE,接收到一个字节数据就进入一次中断,然后把它放入缓存,但是数据量很大的时

实训关于stm32单片机的多个传感器应用(附C++源码和解析)

目录1.实验的目的和要求2.设计的软件环境3.思路流程图4.关键代码解析4.1温湿度传感器(要监测当前环境的温度、湿度,通过温湿度传感器来实现的)4.2.光敏电阻传感器(要监测当前环境的光照(黑天和白天),通过光敏电阻传感器来实现的,如果是黑夜,LED灯就亮蓝色,蜂鸣器会报警)4.3红外线传感器(要监测当前有没有人:通过红外感应传感器,如果有人过来的,蜂鸣器会报警)4.4超声波传感器(要监测人离你家的距离:通过超声波测试来实现,距离小于20cm,LED灯就亮红色)4.5SIM900a模块(有人过来的话,(要把距离、当前环境的的温度、湿度、光照发送短信给你手机))5.项目小结1.实验的目的和要求