自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 STM32学习Day10(I2C)

的信号线运行:1、SDA:串行数据线。所有需要传输的数据都在这根线上流动。2、SCL:串行时钟线。由主设备产生,像节拍器一样同步数据的接收和发送节奏。

2025-11-21 20:05:13 1286

原创 PID学习笔记

增量式PID存在一个需要注意的问题:增量式PID需要依赖上一次的Out,有点违背了P项与历史无关这个设计需求,另外,如果上一次Out是错的那么增量式PID的后续调节就会持续受到这个错误影响,然后还有,增量式PID虽然对积分项的包容性很好,但是同时它也非常依赖这个积分项,没有积分项的增量式PID容易出现实际值与目标值偏移的问题;二:计算法,确定一下积分项输出占总输出的最大比例,最简单的就是,积分项输出、最大和总输出一致,也就是积分项的限幅和输出限幅一样。D项输出的力是阻碍误差变化而和误差本身的大小没关系。

2025-11-19 11:07:23 472

原创 STM32学习Day9

本文详细介绍了STM32中PWM(脉宽调制)技术的原理与应用。PWM通过调节占空比实现模拟输出效果,广泛应用于LED调光、舵机控制、电机调速等领域。文章重点讲解了PWM的核心参数计算(频率和占空比)、STM32定时器的配置方法,并提供了完整的LED呼吸灯示例代码。此外还总结了PWM调试经验,包括舵机控制规范、电机PWM频率选择等注意事项,并指出PWM通过低通滤波可产生模拟电压信号。最后强调PWM是使用定时器输出比较模式实现的数字技术,具有广泛的应用价值。

2025-11-08 16:02:56 1168

原创 STM32学习Day8(从模式控制器)

brief:本篇博客所讲的从模式控制器是TIM定时器里最后一部分了brief:本篇博客所讲的从模式控制器是TIM定时器里最后一部分了一、什么是从模式控制器为了讲解什么是从模式控制器我们要先了解一下TRGI和TRGO,我先给大家举个例子,就是电视和遥控器的例子,我们平时利用遥控器控制电视切换电视台其实就是通过红外接收头实现的,那么我们就可以通过下图理解一下什么是TRGI什么是TRGO了。TRGI是触发输入,相当于红外接收头、TRGO是触发输出,相当于遥控器。

2025-11-06 22:03:45 833

原创 STM32学习Day7(TIM定时器输入捕获)

是。

2025-11-04 21:07:01 604

原创 STM32学习Day6(TIM定时器)

Brief:本篇文章所介绍的TIM定时器在STM32的初学过程中非常重要,在很多地方都能用到,所以不要只看笔者这一篇来学习解惑,要多篇借鉴查缺补漏。Brief:本篇文章所介绍的TIM定时器在STM32的初学过程中非常重要,在很多地方都能用到,所以不要只看笔者这一篇来学习解惑,要多篇借鉴查缺补漏。一、什么是TIM定时器?我们为什么需要它?你可以把定时器想象成一个具有自动计数功能的“秒表”或“闹钟”。​。

2025-10-29 11:53:06 660

原创 STM32学习Day5(中断)

(图片来源:铁头山羊)以分组二为例,中断一的抢占优先级是2,中断二的抢占优先级是2,中断三的抢占优先级是0,中断四的抢占优先级是3。那么我们就可以对这四个中断的抢占优先级进行排序:中断3>中断1=中断2>中断4。那么发生中断嵌套的条件是什么呢?那么这时候就会有人想CPU是如何进行判断的呢,这时候就会出现一个叫做NVIC的外设,它可以通过比较抢占优先级和子优先级对中断源的优先级进行分组从而分出轻重缓急。中断优先级:当有多个中断源同时申请中断时,CPU会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中断源。

2025-10-25 16:44:43 1188

原创 STM32学习Day4(创建.c和.h文件)

重点来了,我们要创建.c和.h文件的工程是标准库工程而不是hal库工程,hal库工程文件已经帮你建好了,这就是为什么有些初学者建好了.c和.h文件程序全是报错的原因。这个时候我们就需要改后缀为相应的.c和.h了,不过这里我们要改的后缀为.c和.h而不是文件名。这时候把.txt改为.c和.h就好了。然后我们再新建一个文件夹,把这两个新建好的.c和.h放进去。将我们的一些函数封装在.c和.h文件里面也方便别人跳转查阅你的函数是怎么运作的。今天我们来学习一下如何为自己的keil5工程创建.c和.h文件。

2025-10-25 10:00:16 573

原创 STM32学习Day2

我们在传输数据时会传输0/1,1代表高电平(空闲状态)、0代表低电平(传输状态),一次可传入八个(可小于8也可大于8)比特即一个字节。看上图的GPIO配置,对于USARTx_RX全双工模式来说我们可以选择浮空输入也可以选择上拉输入,但是作者这里建议用上拉输入:因为这里的RX引脚是负责接收数据的,在接收数据的过程中如果这根线意外断开,那这个RX引脚就会悬空,这个时候如果我们选择上拉输入它就会给这个RX引脚一个默认的高电平也就是“1”,这样就能避免外界的电磁波直接输入到这个引脚里面对我们的程序造成影响。

2025-10-23 20:44:06 449

原创 STM32学习Day1

(虽然工程用的是别人建好的框架,但是学长还是带我们一行一行代码的去理解)学长细致的教我们如何开启时钟、如何跳转到标准库、如何查看函数定义,纯手敲代码带着我们一步一步点亮了属于我们自己的灯,虽然过程充满坎坷,但是最终结果是好的。在敲点亮板载小灯代码的过程中,我发现了一个有趣的现象:正常需要通过推挽输出低电平才能点亮的板载小灯,改为通用开漏输出后什么电平也不给小灯也能亮。(这大概是学习STM32Day1最有价值的收获了。以上大概就是第一天学习STM32的全部知识了,我想更深入的知识也应该就在不远的将来。

2025-10-20 19:50:05 164

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除