上回说到我的任务1不见了,只有任务2,这次要找它出来!
上篇链接:https://blog.youkuaiyun.com/a_happy_ant/article/details/120719576?spm=1001.2014.3001.5501
找出来的方式有很多种,先说说抢占式调度(CubeMx默认设置是这个)
一、抢占式调度
还是先来看看osThreadDef的定义:
上一章我们大概清楚了第一个参数 name 的作用,os_thread_def_##name 是声明了一个变量,#name是把这么宏参数变为字符串,用作任务的名称!
第二个参数 thread 就是任务的具体函数了
第三个参数 priority 看注释知道是任务的优先级,通过默认函数的第三个参数 osPriorityNormal,跳转到定义:
可以看到,osPriorityNormal 实际上就是0,看注释也可以知道,数值越大,优先级也越高(如果不知道优先级是什么东西,那就先去看看优先级吧),注意了
FreeRTOS中,数值越大,优先级也越高,FreeRTOS总是运行优先级最高的任务(抢占式)
优先级的设定就相当于