1、任务创建和删除的API函数:
xTaskCreate() 使用动态的方法创建一个任务【所需RAM会自动从对RTOS中的堆中分配,需要heap_4.c,configSUPPORT_DYNAMIC_ALLOCATION需要等于1】
xTaskCreateStatic() 使用静态的方法创建一个任务
xTaskCreateRestricted() 创建一个使用MPU进行限制的任务,相关内存使用动态内存分配
vTaskDelete() 删除一个任务
2、任务挂起和恢复的API函数:
void vTaskSuspend(TaskHandle_t xTaskToSuspend)挂起一个任务,此函数用于将某个任务设置为挂起状态,进入挂起状态的,任务都不会进入运行状态。退出挂起状态的唯一方法是调用任务恢复函数vTaskResum()或xTaskResumFromISR();xTaskToSuspend 为要挂起的任务句柄,创建任务的时候会为每个任务分配一个任务句柄。
eg:
TaskHandle_t xTestTask;
xTaskCreate( prvTestTask, "Test", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, &xTestTask )
vTaskSuspend( xTestTask ); vTaskSuspend( NULL )表示挂起任务自己。
也可以通过函数xTaskGetHandle()来根据任务名字来获取某个任务的任务句柄。
vTaskResume(TaskHandle_t xTaskToresume[要恢复的任务句柄])恢复一个任务的运行
xTaskResumeFromISR() 中断服务函数中恢复一个任务的运行
3、定时器相关的API函数:
xTimeReset 复位软件定时器,用在任务中
xTimeResetFromISR 复位软件定时器,用在中断服务函数中
xTimerCreat 使用动态方法创建软件定时器
xTimerCreatStatic 使用静态方法创建软件定时器
xTimerStart 开启软件定时器,用于任务中
xTimerStartFromISR 开启软件定时器,用于中断中
xTimerStop 停止软件定时器,用于任务中
xTimerStopFromISR 停止软件定时器,用于中断中
4、来看一下以下与任务相关其他API函数有哪些: