自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FreeRTOS列表和列表项

FreeRTOS列表和列表项是用来跟踪任务的。列表项就是列表的子集,内部是首尾相连的环形结构。注意,有两个方向的连接关系。列表项之间的地址不是连续的,依靠指针指向下一个的位置实现首尾相连。列表项就是用来存放任务的。列表项的数目是随时可以改变的。相比于数组,数组成员的位置是连续的,数组成员的数量从开始确定了以后就不能改变。

2024-07-04 18:12:29 132

原创 FreeRTOS的任务划分

3.事件触发类任务 由事件触发的任务,一般在中断中实现。2.关键任务 关键性任务,重要功能。2.周期性任务 周而复始的执行。3.紧迫任务 紧迫性强。B.任务划分的原则 任务数量尽量少。1.设备依耐性原则 共用同一个设备。1.单次执行类任务 只执行一次。4.数据处理任务 大量数据处理。6.同等触发任务 触发条件相同。5.功能聚合任务 功能相关性强。

2024-07-02 18:00:30 279

原创 烧录FreeRTOS到STM32F407中遇到的问题

注意,串口的供电不足,会导致串口无法被识别,导致程序烧不进去。

2024-07-01 20:49:44 131

原创 STM32F103c8t6被锁

用STink往STM32c8t6中烧录程序,一直连不上,试了很多种方法,包括 ST-LINK Utility,也还是不行,一直报错Con not …经过百般尝试终于找到了方法,就是用一个USB转TTL连接单片机,用FlyMcu再烧录,搞定,然后再用 ST-LINK Utility擦除,最后完美解决。

2024-07-01 19:48:21 248

原创 WIFI智能小车

WiFI智能小车

2024-06-26 19:47:46 137

原创 FreeRTOS任务的创建与调度

FreeRTOS任务的创建和调度

2024-06-26 11:56:41 128

原创 FreeRTOS移植

FreeRTOS移植

2024-06-25 15:13:55 213

原创 红外智能小车

红外遥控小车

2024-06-24 06:51:46 152

原创 stm32学习总结

我在这里只学习了前面的关键模块,GPIO,外部中断,定时器,定时器中断,定时器输出比较,输入捕获,编码器,还有独立看门狗,窗口看门狗这些,至于通信的模块,如串口,SPI,IIc,还有CAN通信等,只大概的看了一下,在后续的项目中,需要用到的时候再来结合前面的视频仔细的了解,毕竟通信相比于led灯的亮灭,更抽象一点。切记在学习的过程中,不要什么都去往脑子里塞,充分的利用网络查资料,多借鉴别人的代码,同时加深自己的理解。

2024-06-14 08:50:06 243

原创 HX1838遥控接收模块

网上买的红外接收模块,买回来发现不能直接使用,到处找资料才知道,需要自己再焊接一根线。

2024-06-14 08:24:54 286 2

原创 蓝牙智能小车

蓝牙智能小车

2024-06-12 21:30:39 222

原创 两个定时器同时输出PWM控制智能小车

原创智能小车控制代码,仅供参考。核心控制板为STM32F103C8T6。

2024-05-31 20:49:58 158

原创 FREERTOS概览

总之,在FREERTOS中,虽然可以同时实现多任务,但是任务的执行还是有顺序的,只是这种顺序不再是简单的体现在代码的顺序上,转而体现在封装的任务上了。其中任务的阻塞,挂起,执行,就绪等设计,很好的实现了任务的控制。本质上,无论是硬件的外设,还是实现外设的代码,其并不是严格连续的,而只是在一定阶段上的连续,比如按键点亮小灯,虽然按照裸机开发的代码逻辑,是有一定顺序的,但是中断很好的解决了这个问题,所以代码从之前的连续,变成了在某个节点上的连续,这就很好的实现了代码的模块化,有利于封装。

2024-05-07 02:27:12 198 1

原创 STM32窗口看门狗

如上图所示,窗口看门狗的计数器只能减到0x40,即为1000000,对应的T6位为1,其他位皆为0,T6位作为标志位的话,就不能再减少了,减少即复位WDGA是窗口看门狗的使能位。上方的比较器装载的值会和下方的值作比较,如果T6:0>W6:0也会产生复位。当全为0000000即为3FH,即自动复位,其实意思就是T6位比较特殊,减到0x40的时候,再减的话T6就变为0.而自动复位了。独立和窗口看门狗一旦启用无法关闭,其步骤。4.开启提前唤醒中断设置中断优先级。7.编写中断服务函数。

2024-05-04 21:14:53 171

原创 STM32独立看门狗

超时时间的计算,TLSI是固定值。第三步:写入预分频和重装值。第一步:开启LSI的时钟。第四步:启动独立看门狗。

2024-05-04 07:34:38 156

原创 STM32读取内部FLASH

上图中的黄色方框内即为FLASH区,其包括三部分,即系统存储器(启动程序代码),主存储器(程序存储器),选项字节(用户选项字节)。从下方的存储器映像可知,FLASH闪存(ROM,掉电不丢失)包含三个部分,即系统存储器,选项字节,程序存储器FLASH,其中的系统存储是不可更改的,相当于电脑的系统文件。FLASH的基本单位是页,每页的大小是1k,闪存的容量指的是主存储器的容量,擦除也是按页来擦除的。volatile的作用,避免变量被优化,FLASH不能直接写入的原因就是需要解锁。RAM是掉电丢失的存储器。

2024-05-03 19:53:53 245 1

原创 STM32输入捕获

外部的高低电平信号经过特定筛选,上升沿信号触发计数器计数,通过捕获寄存器里捕获计数器里的值,同时下降沿也触发计数器计数,也通过捕获比较器捕获计数器里的值,即可测得占空比。

2024-05-01 23:28:06 136 1

原创 STM32定时器

通用定时器和高级定时器都是在基本定时器的基础上增加了一些功能单元,所以无论是什么定时器,必须配置时基单元,即上图标号为3的模块,具体为分频系数,计数器,重装载值。另外,对输出和输入各封装了一个结构体,配置相应的参数,同时开启定时器,即完成了定时器的配置。STM32定时器是重点,也是比较难理解的点,结合其功能框图,对于理解编程的思路很有帮助。注意定时器时钟的选择有四种。

2024-04-19 00:06:44 109

原创 keil报错“contains an incorrect path”

keil报如上错误的原因是路径有中文名,系统无法识别。

2024-04-14 14:23:01 840 1

原创 keil显示No Browse information available的解决办法

keil5经常出现进不去库文件定义的情况,解决办法是进魔术棒,把output下面的Brrowse infomation 勾选,再编译一下。

2024-04-14 09:16:17 612 1

原创 STM32之USART串口通信

从这个框图可以看出,STM32的串口通信是由最下面的波特率控制部分产生波特率,给来自PCLK1/2的时钟做预分频,再经过1/16分频后传给发送/接收其控制,最后分别发送给发送移位寄存器和接收移位寄存器。//发送数据到串口,DR uint16_t USART_ReceiveData();既然是串口通信,对引脚的配置是必须的,而且应该配置成复用,另外接受或者发送为数据后,应该产生中断,来终止传输,所以要配置中断。具体的编程思路应该围绕着引脚的配置和中断的配置,还有串口参数的配置展开。

2024-04-11 19:18:37 201 1

原创 STM32之PWM简介

我们用定时器中断的方式,使规定时间内产生一次中断,计数中断次数,通过计算将中断处理函数前几次中断都给高电平就ok了,此方法可用代码实现。具体为时钟产生方波通过预分频器,计数器,重装载计数器使其控制在规定周期内,同时通过定时器的比较寄存器控制占空比,其原理如下。说白了就是高电平所占方波周期的比例,结合LED高电平点亮,低电平熄灭就可以做出呼吸灯的效果。当0-t1段,定时器计数器TIMx_CNT值小于CCRx值,输出低电平。t1-t2段,定时器计数器TIMx_CNT值大于CCRx值,输出高电平。

2024-04-11 17:21:58 456 1

原创 STM32定时器中断

包括时钟,预分频器,计数器,自动重装载寄存器,配置这几个,就足以实现基本的定时功能。想了解STM32定时器中断,首先要知道定时器的基本原理,如下图。1.使能定时器的时钟。

2024-04-10 18:44:47 203 1

原创 STM32中断流程概览

软件中断寄存器跟输入或门相连,此处也可以忽略,请求挂起寄存器与中断屏蔽寄存器与门相连,要同时配置为1,才会产生中断。产生中断后至NVIC内,找到中断向量,指向中断函数,中断函数有抢占式优先级和响应优先级。GPIO的电平信号从输入线输入以后,到达边沿检测电路,此处可根据其输入电平设置为上升沿触发中断,还是下降沿触发中断,不配置的话可视作短路。抢占优先级跟响应优先级共用四位二进制,即抢占优先级用两位的话,有4级,那么响应优先级则用两位,也是4级。为更好的理解中断,上图可以简化为。先看如下GPIO结构图。

2024-04-10 16:02:20 141 1

原创 STM32位带别名区的计算公式推导

STM32位带别名区地址计算公式的理解

2023-11-15 17:33:48 244

原创 C语言中static的用法

C语言中static关键字的用法

2023-10-24 21:32:50 33

原创 STM32使用寄存器点亮第一个LED

/用1与原封不动的保留,用零与的话全部是零,所以保留了前四位,清零了后四位。则用(~0x0f)即0xf0即11110000相与时,可以知道,高四位被保留,低四位被清零。用xxxx0000与00000001按位或,则可以知道前7位被保留,最后一位变成1.故此可以理解 GPIOC_CRL|=(3

2023-10-17 09:11:38 110

配置好的Marlin固件,开发板为GNE-L-V2.1

配置好的Marlin固件,开发板为GNE_L_V2.1

2024-05-24

带减震的3D打印坦克履带

带减震的3D打印坦克履带

2024-05-23

STM32基础实验教程.zip

stm32基础实验教程

2024-05-23

自己画的麦克纳姆轮,细节完整,可3D打印

智能小车,毕设专用麦克纳母轮,细节完整,可直接用于3D打印

2024-05-17

N20电机模型资料,简化设计流程

细节完整的N20单轴电机模型,可直接用来做适配

2024-05-16

空空如也

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

TA关注的人

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