- 博客(19)
- 收藏
- 关注
原创 重新开始学stm32 控制算法 —— PID算法
首先,我们还是先来简单了解一下什么是 PID。PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。PID 的使用场景非常广泛,凡是需要将某个物理量保持稳定的场景,PID 都可以大显神通。像它的名字一样,它的组成部分有三个部分:比例部分、积分部分、微分部分。1.比例(P)部分成比例地反映控制系统的偏差信号 e(t),偏差一旦产生,控制器立即产生控制作用,以减小偏差。当仅有比例控制时系统输出存在稳态误差。
2023-08-30 22:32:20 4476 1
原创 重新开始学stm32 FreeRTOS系统(6)——双向循环链表、自定义列表
参考着官方的列表项的结构体的定义,我们先来写我们的结点的定义吧。为了方便和官方的列表项作区分,下面我们都称自定义的列表项为结点、自定义的列表为链表吧。//数据//指向前一个结点的指针//指向后一个结点的指针/************************官方迷你列表项定义*********************/因为我们不需要完整的列表项那么全的功能,所以直接以迷你列表项为模板,同时也把完整性检查省去了。
2023-08-22 22:26:49 374 1
原创 重新开始学stm32 FreeRTOS系统(5)——列表和列表项
今天我们接着开始来学习 FreeRTOS 新的内容 —— 列表和列表项。学过C语言的数据结构的小伙伴应该会发现,列表和列表项跟链表很像,或者说其本身就是链表,所以这一期我们先学 FreeRTOS 的列表和列表项,下一期我们再深入从链表的角度来学习。
2023-08-22 17:25:53 194 1
原创 重新开始学stm32 FreeRTOS系统(4)——二值信号量
有小伙伴会问,讲了这么久,究竟什么是信号量?按我的理解,信号量就是存储、传递相应信息的一个“匣子”,也可以理解为一个标志量。而且我们平时写代码的时候也经常会用到,比如:我们有时候会定义一个表量来存储0或1来表示相应的事件是否发生,再通过判断这个变量的值来执行相应的语句。这样一个变量其实就是二值信号量。所以我们完全可以从变量的角度了理解它。
2023-08-16 00:33:28 432 1
原创 重新开始学stm32 FreeRTOS系统(2)——任务相关的API函数
这一期我们接着学习 FreeRTOS 系统的知识,这一期我们讲的内容是任务相关的API函数,讲完这一期,我们就可以去创建一个多任务程序的模板了。
2023-08-15 23:23:25 120 1
原创 重新开始学stm32 FreeRTOS系统(1)——任务
今天我们开始来讲系统的内容,我们学习的这个系统名叫 FreeRTOS,RTOS 全称是 Real Time Operating System,中文名就是实时操作系统。除此之外,还有其它的操作系统比如 UCOS,FreeRTOS,RTX,RT-Thread 等这些都是 RTOS 类操作系统。好了,关于 FreeRTOS 我们不再过多介绍,我们来说说我们为什么要使用系统?我们之前不同系统不是也可以写很多东西吗?系统有什么用?
2023-08-15 22:17:40 206 1
原创 重新开始学stm32 FreeRTOS系统(3)——中断管理
今天我们开始来讲系统的内容,我们学习的这个系统名叫 FreeRTOS,RTOS 全称是 Real Time Operating System,中文名就是实时操作系统。除此之外,还有其它的操作系统比如 UCOS,FreeRTOS,RTX,RT-Thread 等这些都是 RTOS 类操作系统。好了,关于 FreeRTOS 我们不再过多介绍,我们来说说我们为什么要使用系统?我们之前不同系统不是也可以写很多东西吗?系统有什么用?
2023-08-15 21:06:39 294 1
原创 重新开始学stm32(8)SPI通信实验
我们先来简单了解一下什么是SPI,SPI 是英语 Serial Peripheral interface 的缩写,顾名思义就是串行外围设备接口。其他的关于SPI的简介就不多说了,我们只需要知道SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线。对于读函数,按上面我们看数据手册所说,结合我们 SPI 的学习。要对AS5047P进行读数据,应该先对其片选信号拉低进行片选,再准备开始数据的传输。然后把我们的合适的 16 位命令(包含了奇偶校验位、读或写命令、地址)放进我们的一个变量里面,
2023-08-01 23:34:48 1871 1
原创 重新开始学stm32(7)IIC通信实验
IIC,英文全称是Inter-Integrated Circuit,是一种由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。多用于主控制器与从设备间的主从通信。IIC总线的构成由数据线SDA和时钟线SCL构成,可以发送和接收数据。注意:IIC是为了与低速设备通信而发明的,所以IIC的传输速率是不及我们后面学习的SPI通信的。开始信号结束信号和应答信号。1)开始信号SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。代码的实现思路就是。
2023-07-30 16:26:30 572 1
原创 重新开始学stm32(6)ADC实验和DMA传输实验(2)
而如果启用了 ADC_DMALastTransferCmd 函数,当最后一次转换完成后,DMA 仅会传输最后一次的转换结果,并切换到空闲状态,使得 DMA 完成传输请求,同时不会接收新的 DMA 传输请求,从而实现 DMA 在最后一次传输后自动停止传输请求的功能。上面的配置就是遥控的摇杆值获取的ADC和DMA传输的设置了,通过这样的设置之后就可以实现获取遥控的摇杆值数据后直接进行DMA传输到我们划分出来的内存区域中,且CPU不参与数据的处理。下面举例一个两个摇杆的遥控器的摇杆获取的代码的ADC配置部分。
2023-06-01 01:06:12 383
原创 重新开始学stm32(6)ADC实验和DMA传输实验(1)
首先我们来认识一下什么是ADC,ADC英文全称是,中文是模拟数字转换器,简单来说就是可以将模拟电子信号转变为数字电子信号的设备。电压表大家都用过了吧?没错,ADC就可以类比为一个电压表,可以获得我们想要得到的电压的数值。由于ADC的功能太多,在本实验中只能讲到其中的冰山一角,剩下的需要小伙伴们自己去探索。在实验中我们学习的是使用ADC的方法,学会了方法就可以一步步地去慢慢深入探索其中更多的功能了。我们的stm32上面有1~3个ADC,不同的系列数目不同。
2023-05-28 12:07:36 2937
转载 好文记录分享(1)—— 有限状态机(FSM)
有关状态机的东西说了那么多,相信大家都已经感受到了这种工具的优越性,状态机真的是太好用了!其实我们至始至终讲的都是有限状态机现在知道为什么前面的代码中老是有fsm这个缩写了吧!), 还有一种比有限状态机更 NB 更复杂的状态机, 那就是层次状态机一般简写为HSM通俗的说,系统中只存在一个状态机的叫做有限状态机,同时存在多个状态机的叫做层次状态机(其实这样解释层次状态机有些不严谨, 并行状态机也有多个状态机, 但层次状态机各个状态机之间是上下级关系,而并行状态机各个状态机之间是平级关系)。
2023-05-26 18:45:10 190 1
原创 重新开始学stm32(5)PWM实验和正交编码器实验(2)
今天延续上期没有讲完的内容,在实际的应用中怎么将PWM输出实验和正交编码器实验结合起来的。在这一期我们就结合一个基础的四轮小车项目来讲一讲它们的联系。这一期初学的小伙伴或者没有接触到项目的小伙伴可以当做扩展提高看一下,不需要完全掌握,只需要了解清楚有怎么一回事,到时候需要的时候知道可以有这样一个想法。
2023-05-26 16:15:34 254 3
原创 重新开始学stm32(5)PWM输出实验和正交编码器实验(1)
今天继续我们的stm32回顾之路,今天的回顾的实验是PWM输出实验和输入捕获实验,为什么今天博主要把这两个实验放在一起讲呢?而且今天我们讲的输入捕获实验和正点原子的是不一样的。这是博主根据这两个内容在实际项目中的联系和使用最终决定的。接下来我们进入正题,看看为什么把这两个实验放在一起,它们有什么联系?
2023-05-26 14:48:06 1327 1
原创 重新开始学stm32(4)定时器中断实验
今天我们要来回顾的实验是定时器中断实验,这个实验是我们第一次接触定时器这个东西,但是后面我们有很多东西都会用到定时器,比如做一个小车的项目,我们就可以使用定时器输出PWM来控制我们的轮子转动了。好了,废话不多说,马上进入正题。
2023-05-20 22:15:45 335 3
原创 重新开始学stm32(3)外部中断实验
今天来回顾外部中断。我个人外部中断很重要,又不那么重要,重要是因为外部中断是其他中断学习的基础,不重要是因为以后的使用其实很少,至少我用的是非常少甚至说不用外部中断。是不是有点废话文学了,那下面快速进入正题。
2023-05-20 16:25:53 397 1
原创 重头开始学stm32(1)LED跑马灯实验、蜂鸣器实验和按键实验
在这之前,先说一说我学stm32的历程,已经学习stm32快一年了,由于某些原因,我就有了现在的想法,重头开始回顾stm32的学习,这既回顾我的所学,说不定还能重新学到一些新的东西。stm32的入门注定的一段痛苦的过程,想当初我在入门的时候也是非常痛苦,但是撑过这一阶段,就会发掘到其中的乐趣了。本人使用的是正点原子的精英板,也是根据正点原子的教学视频和数据手册来学习stm32的,这里强调一下,数据手册非常重要哦,很多问题都可以在数据手册找到对应的结果。
2023-05-19 12:03:58 818 2
空空如也
对于麦轮小车的直流减速电机的选择
2023-05-08
stm32串口通信实验
2022-12-21
stm32小白学习遇到困难,求助
2022-12-08
stm32一个外部中断控制多模式问题
2022-12-06
关于外部中断优先级的问题
2022-12-05
stm32主函数中连续break的问题
2022-12-05
关于stm32外部中断的问题
2022-12-05
关于同名变量的冲突问题
2022-11-26
关于break的问题
2022-11-14
C语言有关结构体初始化的问题
2022-11-05
怎么用函数修改数组的元素
2022-10-31
数组的一个问题,数组,排列
2022-10-30
C语言 引发了异常:读取访问权限冲突
2022-10-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人