/*源代码以及其他一切形式的知识转述均出自百问网课程,仅供参考,请勿用作商业用途。
【FreeRTOS入门与工程实践 --由浅入深带你学习FreeRTOS(FreeRTOS教程 基于STM32,以实际项目为导向)】 https://www.bilibili.com/video/BV1Jw411i7Fz/?p=8&share_source=copy_web&vd_source=bab35cd72a6b7a3ffd3c77e664d802f1
这里我只打算写一些知识点,不分第几讲这样。因为ARM架构编程和内存四区的知识我已经在不同的课里学了好几遍。 */
(1)在 Core\Src\main.c 的 main 函数里,初始化了 FreeRTOS 环境、创建了任务,然后启动
调度器。源码如下:
/* Init scheduler */
osKernelInitialize(); /* 初始化FreeRTOS运行环境 */
MX_FREERTOS_Init(); /* 创建任务 */
/* Start scheduler */
osKernelStart(); /* 启动调度器 */
这个入口函数是调度器算法的大门,在这之前不能使用osDelay进行延时,从ST给我们写的注释里面也可以得知FreeRTOS工程里面main.c的while(1){}循环不起作用。
(2)常用的两种数据类型
(3)函数、变量等命名规范
1.变量名
变量名前缀 | 含义 |
c | char |
s | int16_t,short |
x | BaseType_t,以及非标准的其他类型:结构体、taskhandle、 queuehandle等 |
u | unsigned |
p | 指针 |
uc | uint8_t ,unsigned char |
pc | char指针 |
2. 函数名
函数名的前缀有2部分:返回值类型、在哪个文件定义。
3.宏命名
宏的名字是大小,可以添加小写的前缀。前缀是用来表示:宏在哪个文件中定义。