🔴🟡🟢其他文章链接,独家吐血整理
【吐血总结】FreeRTOS难点、Systick中断-滴答定时器、PendSV中断-任务切换、SVC中断-系统底层、时间片调度-时钟节拍【已完结】
(第1-8讲)STM32F4单片机,FreeRTOS基础知识总结【视频笔记、代码讲解】【正点原子】【原创】
(第9-10讲)STM32F4单片机,FreeRTOS任务创建和删除(动态方法)【视频笔记、代码讲解】【正点原子】【原创】
(第12讲)STM32F4单片机,FreeRTOS任务创建和删除(静态方法)【视频笔记、代码讲解】【正点原子】【原创】
(第13-14讲)STM32F4单片机,FreeRTOS任务挂起和恢复【视频笔记、代码讲解】【正点原子】【原创】
(第16-17讲)STM32F4单片机,FreeRTOS中断管理简介【视频笔记、代码讲解】【正点原子】【原创】
(第18-19讲)32单片机,FreeRTOS临界段代码保护、任务调度器的挂起和恢复【视频笔记、代码讲解】【原创】
(第20-22讲)STM32F4单片机,FreeRTOS列表和列表项API函数讲解【视频笔记、代码讲解、正点原子】【原创】
(第34-36讲)FreeRTOS消息队列知识汇总【B站UP、硬件家园、普中科技、正点原子】【视频笔记】【原创】
(第40-44讲)STM32F4单片机,FreeRTOS信号量【二值、计数、翻转、互斥】【代码讲解】【正点原子】【原创】
(第48-59讲)STM32F4单片机,FreeRTOS【事件标志、任务通知、软件定时器、Tickless低功耗】【纯文字讲解】【原创】
1、纯文字(待补充)
事件标志组如果读不到也会引起任务阻塞,读取到事件标志组之后会对标志清0(也可以设置成不清0)
队列、信号量、标志组,都是用来任务间通信使用(这几个都需要单独创建一次)
任务通知时创建任务分配任务控制块时就默认创建了一个任务通知(不需要单独再创建一次)
任务通知不会阻塞任务
消息邮箱=听起来高大上很时髦=就是任务之间通信
软件定时器类似于MultiTimer定时器
软件有单次定时器与周期定时器两种模式
软件定时器其实就是利用系统滴答定时器中断来计数作为时基,而系统滴答定时器中断优先级最低,因为在采集精度上肯定比不上硬件定时器,但是软件定时器任务优先级是最高的(任务优先级 ≠ 中断优先级)
不能在软件定时器超时回调函数中调用会引起任务阻塞的API函数如vTaskDelay()函数
Tickless低功耗模式
空闲任务:所有任务都被阻塞或者挂起时执行空闲任务
开启Tickless模式前需要打开4个宏