- 博客(21)
- 收藏
- 关注
原创 指针(2)
用*解引用,顺着地址,修改外部原始变量。数组传参传的数组名本质上的是首元素的地址,因此形参数组和主函数内数组是同一个。assert断言:assert定位问题,内部表达式若为否,则会报错并输出问题位置。若为真,则这行代码无任何操作。实参把数据拷贝一份给形参,形参是独立副本。返回局部变量的地址,可能造成问题。把变量内存地址拷贝给指针形参。修改形参,不会影响外部原变量。2. 传址调用(传指针)
2026-09-09 21:14:59
18
原创 博客二:STM32定时器触发ADC全解析(TRGO、CC事件、触发寄存器详解)
软件启动硬件触发启动。软件启动依赖CPU代码,有延迟、不稳定;定时器硬件触发是工业常用精准采样方案,本文讲透EXTSEL寄存器、TRGO脉冲、CC比较事件的核心原理与区别。定时周期性多路采样:优先选TIM3_TRGO + 单次+扫描+DMA定点位精准采样:选TIMx_CCx 比较事件触发硬件触发禁止开启连续转换模式,否则ADC自循环,不再响应脉冲扫描模式多通道必须开DMA,否则数据覆盖丢失TRGO是内部周期脉冲,CC是内部点位脉冲,均无需外部接线。
2026-09-02 22:01:55
206
原创 博客一:STM32 ADC 完整工作原理、模式、架构详解(零基础吃透)
模式组合工作行为适用场景是否需要DMA单次+非扫描触发一次,单通道采样一次即停单通道按需采样不需要连续+非扫描触发一次,单通道无限循环采样单通道实时监测可选单次+扫描触发一次,多通道全部采样一轮即停定时器定时多路采样(最常用)必须开启连续+扫描触发一次,多通道无限循环扫描多路传感器不间断采集必须开启。
2026-09-02 22:01:20
235
原创 零基础彻底吃透C语言指针与内存(全网最通俗闭环教程)
p:指针变量的值,存储的是「目标变量的起始地址」*p:解引用,访问该地址对应的内存数据(等价目标变量本身)VS内存窗口不支持&a、p这类表达式,仅支持纯十六进制地址数字,需在监视窗口获取地址后粘贴。
2026-09-01 23:24:52
14
原创 彻底搞懂 STM32 定时器编码器接口(原理+判向+倍频+底层信号)
1、禁止 B 相悬空:所有编码器模式均需双相电平判向,悬空必然导致计数乱跳2、必须开启硬件滤波:机械抖动会产生虚假边沿,无滤波极易数据漂移3、PSC 固定设 0:编码器模式预分频无效,非 0 设置无意义4、必须处理计数器溢出:长时间运行不做溢出处理,位置数据会突变5、转向颠倒直接调换 AB 接线,无需修改程序代码1、硬件编码器接口依托 TIM_CH1、CH2 通道,采集 AB 正交信号,经硬件滤波后生成 TI1FP1、TI2FP2 有效信号;
2026-08-31 17:24:46
361
原创 博客一:STM32 PWM 从零彻底搞懂(CNT/ARR/CCR/分辨率/占空比)
PSC:控制CNT跑多快 → 只改PWM频率,不影响分辨率ARR:控制周期步数 →同时决定频率 + 分辨率CCR:控制高低电平分界 →只改占空比。
2026-08-27 00:03:50
214
原创 STM32新手必懂:时钟、定时器、中断、映射 全套通俗解析(零基础吃透)下篇:定时器、中断、外设映射(实操核心应用)
分不清时钟(信号)和晶振(元件)忘记PSC要+1,定时时间算错以为ARR是脉冲,实际ARR是数值终点EXTI外部中断不开AFIO时钟,导致不触发中断函数不清除标志位,导致死循环中断混淆ETR(硬件计数)和EXTI(软件中断)中心对齐模式直接套用向上计数公式,周期算错不懂16位上限65535,导致定时器溢出异常以为引脚可以同时做GPIO和复用功能外设不开启时钟,寄存器白写、硬件不工作STM32定时器和中断的所有难点,全部来自概念混淆。
2026-08-25 17:32:32
327
原创 STM32新手必懂:时钟、定时器、中断、映射 全套通俗解析(零基础吃透)上篇:底层核心原理(时钟、晶振、脉冲、调速逻辑)
晶振是元器件(实物),时钟是电信号。时钟 =持续不断、高低电平交替的脉冲方波。每一个上升沿(左边竖线)=1个时钟脉冲。晶振 = 造脉冲的硬件工厂;时钟脉冲 = 工厂产出的电信号节拍。
2026-08-25 17:29:42
199
原创 STM32中断系统最全解析(实操踩坑篇:代码+避坑规范)
EXTI:产生中断信号的"传感器"NVIC:判断能不能执行、谁优先执行的"裁判"中断向量表:告诉 CPU 去哪里执行代码的"地址目录"中断服务函数:真正干活的"业务代码"原理篇负责看懂底层、面试答对,本篇实操篇负责写对代码、解决 BUG、工程落地。两篇结合,彻底吃透 STM32 所有中断体系。
2026-08-19 17:54:01
203
原创 STM32中断系统最全解析(原理篇:从硬件逻辑到运行机制)
CPU 正常循环执行主程序(while(1) 业务逻辑),当外设或硬件引脚触发预设事件后,会向内核发送中断请求。CPU 会主动暂停当前正在执行的任务、保存运行现场,跳转至专属的中断服务函数处理紧急事件,处理完成后自动恢复现场,继续执行原本的主程序。相较于轮询检测方式,中断的核心优势:无需 CPU 持续扫描硬件状态、极大节省 CPU 资源、硬件事件实时响应。中断服务函数无需用户手动调用,完全由硬件自动触发跳转,普通函数与中断函数的本质区别就此区分。
2026-08-19 17:39:39
391
原创 STM32新手必懂:.h头文件、函数声明、头文件保护、重复包含 终极通俗详解
放函数实现、变量、逻辑代码(带大括号{}示例:key.c// GPIO初始化代码如果你把带{}的函数实现写进.h两个.c include 后,就会出现两份一模一样的函数实现redefinition 重复定义超级重要口诀:声明可重复,定义不可重复.h 放声明,.c 放实现多文件同时include同一个.h不报错.h里写了函数定义#ifndef 防止同一文件多次嵌套包含函数声明顺序无所谓,结构体必须先定义后使用正式工程一律用标准h/c分离写法,不要在main.c裸声明。
2026-08-15 16:36:13
372
原创 STM32 GPIO_Init 彻底精讲:结构体、库函数、初始化原理(新手必懂)
GPIO_InitTypeDef 是标准库提前定义好的结构体类型(模板),无需自己编写结构体源码,引入对应头文件(stm32f10x_gpio.h)即可直接使用。// 选择具体引脚// 引脚输出速度// 引脚工作模式 } GPIO_InitTypeDef;// 自定义LED引脚配置变量// 传入函数必须带 &工程开发中,不推荐使用官方默认名,按功能命名(led_cfg、key_cfg),多引脚配置时更清晰,不易出错。1. 必须开启端口时钟!
2026-08-11 19:19:34
363
原创 STM32 标准库 GPIO 函数辨析:GPIO_Write、WriteBit、SetBits、ResetBits 区别详解
局部修改引脚,不影响其余 IO;GPIO_Write:全员重写,覆盖整个端口所有引脚,谨慎使用;选型速记:多引脚用 Set/ResetBits;单引脚静态电平用 Set/ResetBits;单引脚动态电平选用 WriteBit。
2026-08-09 01:35:21
313
原创 STM32 GPIO 输入单元原理完整科普
保护二极管:电压钳位、静电防护,不参与电平逻辑判断;模拟输入:直通 ADC,关闭施密特触发器,保留原始模拟电压;上下拉电阻:解决引脚悬空漂移,仅稳定电压平均值,抑制不了瞬时干扰尖峰;施密特触发器:利用滞回特性整形波形,过滤抖动毛刺,防止电平反复误触发;输入数据寄存器 IDR:只读,存储施密特输出的逻辑电平,是 CPU 读取引脚状态的接口。
2026-08-08 00:04:51
380
原创 STM32入门教程-2023版 3-1GPIO输出(上下拉电阻和施密特触发器)
上下拉电阻,解决的是【开关断开】这个状态下引脚悬空的问题;开关闭合时,外部线路强制决定电平,上下拉不起主导作用,可以忽略。因为。优先级:以上拉为例:✅ 导线直连 GND(强制 0V)> 电阻弱连接 3.3V(试图拉高)
2026-08-07 10:58:26
386
原创 【无标题】2026/8/6 C语言--数组(上)
那个元素,而是计算一个元素的大小。sizeof在数组计算数组长度,元素个数。可知是 4 个字节,但通常写。第 127 行不是访问。
2026-08-07 09:09:37
32
原创 初学C语言
学习C语言的目标:学好C语言,拿到满绩。如果有能力的话,想设计一个像alphago一样的AI大模型,用另一种方式成为超级无敌围棋高手。在C上花费的时间:每周在学习编程上,除了课程时间,我会抽出两小时,可能不是完整的,会有细碎时间的回想,也有完整时间的综合学习。自我介绍:我是一名末流211大学生,专业电子信息类,目前大一下。爱好下围棋、三国杀、我的世界。如何学C语言:学习编程要学和练结合,要学而时习之。既不一味的听课,也不一个人闭门造车。
2026-04-06 16:55:55
53
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅