前言
上篇文章我们讲了,如何使用cubeMX快速创建freeRTOS工程,这次我们讲一下freeRTOS任务控制相关函数。一般我们学习一个封装函数,就是了解它的功能,参数如何设置,便可以快速上手一个函数了。
任务创建函数
osThreadCreate (const osThreadDef_t *thread_def, void *argument)
使用该函数,我们可以直接在程序添加任务。但,一般推荐在cubeMX的UI界面添加任务(如下图所示),这样方便我们的管理。
任务删除函数
osThreadTerminate (osThreadId thread_id)
功能:删除指定的任务。
参数:osThreadId thread_id 就是任务ID,任务名存有任务ID,所以可以直接输入任务名。
demo演示:(如图)
任务ID获取函数
osThreadGetId (void)
功能:获取当前任务的ID,用于任务挂起等操作。
demo演示:(如图)
任务让步函数
osThreadYield (void)
功能:当有多个任务同时在跑时,让步其他任务执行。
demo演示:(如图)
任务优先级设置函数
osThreadSetPriority (osThreadId thread_id, osPriority priority)
功能:设置任务优先级。
参数:osThreadId thread_id 任务ID osPriority priority 任务优先级(如图所示)
使用osThreadSetPriority函数可在程序中,根据需要使用osThreadSetPriority函数来设置优先级。也可在cubeMXUI界面设置任务优先级
任务优先级获取函数
osThreadGetPriority (osThreadId thread_id)
功能:可以获取指定任务的优先级
参数:osThreadId thread_id 任务名
demo演示:(如图)
以上内容就是关于freertos任务控制函数的介绍,希望对大家有所帮助。
谢谢观看~