开始任务函数
在FreeRtos进入临界段代码的时候需要关闭中断,当处理完临界段代码以后再打开中断
一般我们都会使用这个临界区,进入和退出是配套使用的,我们在使用的时候要尽量保持临时段耗时短
- //开始任务函数
- void start_task(void *pvParameters)
- {
- taskENTER_CRITICAL(); //进入临界区
- //创建task1任务
- Task1Task_Handler=xTaskCreateStatic((TaskFunction_t )task1_task,
- (const char* )"task1_task",
- (uint32_t )TASK1_STK_SIZE,
- (void* )NULL,
- (UBaseType_t )TASK1_TASK_PRIO,
- (StackType_t* )Task1TaskStack,
- (StaticTask_t* )&Task1TaskTCB);
- //创建task2任务
- Task2Task_Handler=xTaskCreateStatic((TaskFunction_t )task2_task,
- (const char* )"task2_task",
- (uint32_t )TASK2_STK_SIZE,
- (void* )NULL,
- (UBaseType_t )TASK2_TASK_PRIO,
- (StackType_t* )Task2TaskStack,
- (StaticTask_t* )&Task2TaskTCB);
-
- vTaskDelete(StartTask_Handler); //删除开始任务
- taskEXIT_CRITICAL(); //退出临界区
- }
复制代码
掌握Rtos下的多任务多优先级的实现方式,掌握FreeRtos的基本用法,打造一个实时性系统
|