- 博客(67)
- 收藏
- 关注
原创 用时钟树了解HAL_RCC结构体
STM32的HAL库是由可视化工具自动生成相关硬件参数设置代码,为了了解学习时钟树的配置我用ST官方提供的时钟树图纸和两段小代码学习RCC部分结构体。请大家批评指导。
2025-03-17 22:00:00
417
原创 浅谈时钟启动和Systemlnit函数
我们先来看一下源程序的注释* @{*//*** 初始化微控制器系统* 初始化嵌入式闪存接口、锁相环并更新系统核心时钟变量* 本函数仅在复位后使用*/函数作用系统时钟配置:初始化时钟树(如HSE、HSI、PLL),设置变量。中断向量表重置:将中断向量表映射到Flash的起始地址(0x08000000)。低功耗模式配置:默认禁用低功耗模式(如Sleep/Stop模式)。微控制器型号识别:读取识别芯片型号。全局变量初始化:如__main符号的设置(跳转至主程序入口)。
2025-03-13 22:00:00
481
原创 在Keil 5中如何建立一个STM32项目
大家在使用Keil时大多都是利用样板项目来建立自己的项目,为了了解基本建立项目的知识写下了本篇文章。
2025-03-12 23:00:00
1649
原创 从模式控制器关于采集分析编码器数据的实验
本次实验使用的是EC11增量式编码器A、B负责向外输出数据,D、E是一个按钮,在本次实验中不使用按钮功能。在轴进行转动时带动金属片一同进行顺时针或逆时针转动,A、B触电可以并联一个高电平上拉电阻,C引脚接地当触点在金属盘上是A、B输出低电平,当触点悬空时A、B输出高电平。在金属盘持续转动下A、B引脚会输出一个波形。A、B的触点是有前后的,在金属盘顺时针转动的时候A先离开金属盘,B后离开金属盘,这样生成的两个波形A的波形会先出现上升沿,B的上升沿落后A。逆时针时B的上升沿领先于A。
2025-03-03 11:14:07
291
原创 TIM从模式控制器模块基础知识
在STM32微控制器中,定时器(TIM)的(Slave Mode Controller)是一种用于实现定时器之间协同工作的机制。通过配置从模式,一个定时器可以受外部信号(如另一个定时器的输出信号或外部引脚输入)控制,从而实现复杂的时序控制功能。从模式控制器有两种模式,作为从机,作为主机。
2025-03-02 14:22:48
326
原创 定时器之输入捕获
输入捕获通过检测外部信号边沿(上升沿/下降沿)触发计数器(CNT)值锁存到捕获寄存器(CCRx),结合两次捕获值的差值计算信号时间参数。。
2025-03-01 20:07:30
766
原创 STM32呼吸灯实验手册(TIM定时器)
在while循环中我们要向外输出一个PWM信号, 满足呼吸灯的现象可以用一个正弦波来做输出。我们想得到CCR的值根据上述公式可以得到。在生成代码的mian函数中编写如下代码。,从而控制PWM占空比或定时触发点。烧录程序后,LED呈现渐变呼吸效果。,用于启动定时器的PWM输出。占空比是CCR和ARR+1的比值。那么就得到CCR的表达式。
2025-02-28 12:27:48
771
原创 定时器之输出比较
STM32的定时器输出比较(Output Compare,OC)功能是其定时器模块的重要特性之一,主要用于生成特定波形(如PWM)、触发事件或控制外部设备。有以下主要功能:通过比较定时器计数器(CNT)和预置的比较寄存器(CCR),生成PWM信号或特定频率的方波。:当计数器与CCR匹配时,触发中断、DMA请求或其他外设操作。:直接控制引脚电平的翻转、置高或置低。我们可以利用PWM输出模拟信号,实时调整占空比可以对应模拟信号波形在信号强的位置占空比大,信号弱的位置占空比小。
2025-02-27 21:31:49
998
原创 利用STM32TIM自制延迟函数实验
我们是通过计时器中断的方法来实现自己的延迟函数的,我们要使用先关的库函数,要重写库函数完成currentMiliSeconds值的累加。基本原理是启动定时器,产生update事件并触发中断并回调重写函数HAL_TIM_PeriodElapsedCallback()。其中MyGetTick()是获取当前计时器时间的函数,也是我们要自编写的函数之一。如图我们PSC = 7,ARR = 999,RCR = 0,同时使用ARR寄存器预加载。我们要实现自己的延迟函数首先要自定义一个函数。编写GPIO闪灯代码。
2025-02-27 19:39:33
564
原创 中断的基础知识
中断是 CPU 响应外部事件的机制,当外设(如定时器、UART、GPIO)触发事件时,CPU 暂停当前任务,执行中断服务程序(ISR),完成后恢复原任务。类似下图的描述方式中断机制可以让我们快速灵活的响应突发事件高效的处理各个事件的发生。
2025-02-22 14:47:51
418
原创 SPI总线基础知识
SPI(Serial Peripheral Interface)即串行外设接口,是一种高速、全双工、同步的通信总线,常用于 STM32 微控制器与各种外设(如传感器、存储器等)进行通信。
2025-02-17 14:53:35
920
原创 STM32时钟系统简介
STM32系列微控制器使用时钟的核心原因在于其作为数字系统的“心跳”,确保芯片内部各模块协调工作,并实现性能、功耗和功能的平衡。更是实现的核心设计。通过灵活的时钟配置,开发者可以:最大化硬件资源利用率,精确控制外设行为,优化系统能耗,适应从简单控制到复杂计算的多样化需求。
2025-02-17 11:09:36
623
原创 STM32 HAL库UART串口数据接收实验
掌握STM32 HAL库的UART配置方法实现通过UART接收数据并处理使用中断方式接收数据用串口调试工具发送数据1或0,输入为1时板载LED亮,输入为0板载LED熄灭。STM32开发板(STM32F103C8T6)USB转TTL模块杜邦线若干PC端串口调试助手Keil MDK串口调试工具。
2025-02-14 20:14:32
1031
原创 STM32 HAL库 UART串口发送数据实验
是 STM32 HAL 库中用于通过 UART(通用异步收发器)发送数据的核心函数。它以阻塞(同步)方式工作,即函数会等待数据发送完成或超时后才返回。通过STM32的UART串口发送字符串数据到PC端串口调试助手,验证通信功能。使用ST-Link或J-Link工具将代码烧录到STM32。确认波特率一致(STM32与PC端均为115200)。确认烧录时复位模式正确(如NRST引脚接复位按钮)。: UART 正忙(如上一次传输未完成)。: 发送超时(未在指定时间内完成)。检查接线(TX/RX是否交叉连接)。
2025-02-14 14:50:05
1512
原创 基于HAL库的按钮实验
掌握STM32 HAL库的GPIO输入配置方法。实现通过按钮控制LED亮灭(支持轮询和中断两种模式)。熟悉STM32CubeMX的外部中断(EXTI)配置流程。开发板:STM32系列开发板(如STM32F103C8T6、Nucleo-F411RE等)LED模块:板载LED或外接LED(需串联220Ω限流电阻)按钮模块:板载按钮或外接机械按钮(需串联10kΩ上拉/下拉电阻)调试工具:ST-Link调试器(或板载调试器)STM32 HAL库。
2025-02-13 19:48:11
543
原创 基于HAL库的GPIO闪灯实验
用于在代码中实现精确的延时等待。调用此函数时,程序会“暂停”执行指定的毫秒时间,期间CPU处于空转状态,直到延时结束。当向IO输入0时P-MOS打开,N-MOS闭合此时引脚为低电平,LED熄灭。当向IO输入1时P-MOS闭合,N-MOS打开此时引脚为高电平,LED点亮。当向IO输入0时N-MOS闭合,此时引脚为低电平,电路为通路,LED点亮。当向IO输入1时N-MOS打开,此时引脚为高阻抗,电路断路,LED熄灭。找到LED连接的引脚PA9(板载LED),设置为。找到LED连接的引脚PC13,设置为。
2025-02-13 12:27:57
656
原创 八一南昌起义纪念塔手绘图纸:一部凝固的工程史诗
这些泛黄的图纸不仅是技术档案,更是中国工程智慧的物化见证。在参数化设计盛行的今天,回望这些手绘的力学诗篇,恰是提醒我们:真正的工程智慧,永远建立在对物理本质的深刻理解与对人本价值的永恒追求之上。剖面图上的阴影系数标注,精确到太阳高度角28°时的投影长度,这种基于天文历法的光影控制技术,确保了纪念碑在特定时刻能形成庄严的光影构图。这些诞生于上世纪七十年代的图纸,以0.05毫米的针管笔触勾勒出总高53.6米的纪念碑,在硫酸纸上构建的坐标网格精确到毫米级,每一根结构线都暗含着材料力学的智慧结晶。
2025-02-12 21:46:36
1051
原创 JGJ46-2024新标和旧标差异详解
2024年10月17日,住建部发布行业标准。原行业标准《施工现场临时用电安全技术规范》(JGJ46-2005)。,新标准对施工现场临时用电组织设计内容进行了补充。其中最值得注意的是增加了剩余电流动作保护器的安装及检查内容。这一变化将有效提高用电安全性,降低触电风险。部分对钢索配线内容进行了完善。这一调整将使得配电线路的铺设更加规范,减少因线路问题引发的安全隐患。新标准特别增加了塔式起重机供电电缆敷设方式及其固定内容。这一变化将为塔吊等大型机械设备的用电安全提供更明确的指导。
2025-02-12 11:59:26
3136
原创 GPIO函数详解(二)
用于读取指定 GPIO 端口的所有引脚的电平状态(16 位值,每位对应一个引脚)。用于读取指定 GPIO 端口的所有引脚的输出状态(16 位值,每位对应一个引脚)。返回值是一个 16 位的值,每位对应一个引脚的状态。该函数仅适用于配置为输出模式的 GPIO 引脚(如推挽输出、开漏输出)。该函数仅适用于配置为输出模式的 GPIO 引脚(如推挽输出、开漏输出)。该函数读取的是输出数据寄存器(ODR)的值,而不是实际引脚的电平状态。该函数读取的是输出数据寄存器(ODR)的值,而不是实际引脚的电平状态。
2025-02-09 10:07:36
1190
1
原创 GPIO函数详解(一)
函数是用于控制STM32微控制器中APB1(Advanced Peripheral Bus 1)总线上外设时钟的开启或关闭的。这个函数是STM32标准外设库(Standard Peripheral Library)或者HAL库(Hardware Abstraction Layer)中的一个函数,用于配置和管理微控制器的硬件资源。在STM32微控制器中,时钟系统是非常关键的,它负责为微控制器的CPU核心、外设等提供工作时钟。
2025-01-13 20:08:18
1149
原创 linux常用命令(touch、cat、less、head、tail)
linux命令touch、cat、less、head、tail基本用法、常用选项与示例和注意事项
2024-12-19 14:03:52
1180
原创 linux常用命令(mkdir、pwd、rmdir、rm)
linux常用命令mkdir、pwd、rmdir、rm的基本用法、常用选项与实例、注意事项
2024-12-19 11:16:23
546
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人