FreeRTOS

[FreeRTOS学习] 任务概念

2017-02-27  本文已影响0人  EleZtian

任务协程(Co-routines)

任务和协程使用不同的API,因此他们不能使用同一个队列或信号量传递数据。
协程仅用在资源非常少的微处理器中,现在一般很少使用。

任务

void vATaskFunction( voidvoid *pvParameters )  
{  
    for( ;; )  
    {  
        /*-- 应用程序代码放在这里. --*/  
    }  
   
    /* 任务不可以从这个函数返回或退出。在较新的FreeRTOS移植包中,如果 
    试图从一个任务中返回,将会调用configASSERT()(如果定义的话)。 
    如果一个任务确实要退出函数,那么这个任务应调用vTaskDelete(NULL) 
    函数,以便处理一些清理工作。*/  
    vTaskDelete( NULL );  
}  

任务函数决不应该返回,因此通常任务函数都是一个死循环。

void vApplicationIdleHook( void );
```

     通常,**使用这个空闲钩子函数设置CPU进入低功耗模式**。

                                  2016.2.27

上一篇 下一篇

猜你喜欢

热点阅读