- 博客(43)
- 收藏
- 关注
原创 FreeRTOS列表和列表项
FreeRTOS列表和列表项是用来跟踪任务的。列表项就是列表的子集,内部是首尾相连的环形结构。注意,有两个方向的连接关系。列表项之间的地址不是连续的,依靠指针指向下一个的位置实现首尾相连。列表项就是用来存放任务的。列表项的数目是随时可以改变的。相比于数组,数组成员的位置是连续的,数组成员的数量从开始确定了以后就不能改变。
2024-07-04 18:12:29
165
原创 FreeRTOS的任务划分
3.事件触发类任务 由事件触发的任务,一般在中断中实现。2.关键任务 关键性任务,重要功能。2.周期性任务 周而复始的执行。3.紧迫任务 紧迫性强。B.任务划分的原则 任务数量尽量少。1.设备依耐性原则 共用同一个设备。1.单次执行类任务 只执行一次。4.数据处理任务 大量数据处理。6.同等触发任务 触发条件相同。5.功能聚合任务 功能相关性强。
2024-07-02 18:00:30
392
原创 STM32F103c8t6被锁
用STink往STM32c8t6中烧录程序,一直连不上,试了很多种方法,包括 ST-LINK Utility,也还是不行,一直报错Con not …经过百般尝试终于找到了方法,就是用一个USB转TTL连接单片机,用FlyMcu再烧录,搞定,然后再用 ST-LINK Utility擦除,最后完美解决。
2024-07-01 19:48:21
540
2
原创 stm32学习总结
我在这里只学习了前面的关键模块,GPIO,外部中断,定时器,定时器中断,定时器输出比较,输入捕获,编码器,还有独立看门狗,窗口看门狗这些,至于通信的模块,如串口,SPI,IIc,还有CAN通信等,只大概的看了一下,在后续的项目中,需要用到的时候再来结合前面的视频仔细的了解,毕竟通信相比于led灯的亮灭,更抽象一点。切记在学习的过程中,不要什么都去往脑子里塞,充分的利用网络查资料,多借鉴别人的代码,同时加深自己的理解。
2024-06-14 08:50:06
278
原创 FREERTOS概览
总之,在FREERTOS中,虽然可以同时实现多任务,但是任务的执行还是有顺序的,只是这种顺序不再是简单的体现在代码的顺序上,转而体现在封装的任务上了。其中任务的阻塞,挂起,执行,就绪等设计,很好的实现了任务的控制。本质上,无论是硬件的外设,还是实现外设的代码,其并不是严格连续的,而只是在一定阶段上的连续,比如按键点亮小灯,虽然按照裸机开发的代码逻辑,是有一定顺序的,但是中断很好的解决了这个问题,所以代码从之前的连续,变成了在某个节点上的连续,这就很好的实现了代码的模块化,有利于封装。
2024-05-07 02:27:12
226
1
原创 STM32读取内部FLASH
上图中的黄色方框内即为FLASH区,其包括三部分,即系统存储器(启动程序代码),主存储器(程序存储器),选项字节(用户选项字节)。从下方的存储器映像可知,FLASH闪存(ROM,掉电不丢失)包含三个部分,即系统存储器,选项字节,程序存储器FLASH,其中的系统存储是不可更改的,相当于电脑的系统文件。FLASH的基本单位是页,每页的大小是1k,闪存的容量指的是主存储器的容量,擦除也是按页来擦除的。volatile的作用,避免变量被优化,FLASH不能直接写入的原因就是需要解锁。RAM是掉电丢失的存储器。
2024-05-03 19:53:53
312
1
原创 STM32之定时器
通用定时器和高级定时器都是在基本定时器的基础上增加了一些功能单元,所以无论是什么定时器,必须配置时基单元,即上图标号为3的模块,具体为分频系数,计数器,重装载值。另外,对输出和输入各封装了一个结构体,配置相应的参数,同时开启定时器,即完成了定时器的配置。STM32定时器是重点,也是比较难理解的点,结合其功能框图,对于理解编程的思路很有帮助。注意定时器时钟的选择有四种。
2024-04-19 00:06:44
125
原创 keil显示No Browse information available的解决办法
keil5经常出现进不去库文件定义的情况,解决办法是进魔术棒,把output下面的Brrowse infomation 勾选,再编译一下。
2024-04-14 09:16:17
933
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人