欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

學(xué)習(xí)筆記-RTOS任務(wù)創(chuàng)建

任務(wù)的創(chuàng)建

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供遼陽縣網(wǎng)站建設(shè)、遼陽縣做網(wǎng)站、遼陽縣網(wǎng)站設(shè)計(jì)、遼陽縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、遼陽縣企業(yè)網(wǎng)站模板建站服務(wù),10多年遼陽縣做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

1  任務(wù)需要 RAM 來保存與任務(wù)有關(guān)的狀態(tài)信息(任務(wù)控制塊)

2  需要一定的 RAM 來作為任務(wù)堆棧

  xTaskCreate()就會(huì)從FreeRTOS的堆中分配,必須提供內(nèi)存管理文件

  默認(rèn)使用heap_4.c

3 宏 configSUPPORT_DYNAMIC_ALLOCATION 必須為 1

4 函數(shù) xTaskCreateStatic()創(chuàng)建的話這些 RAM 就需要用戶來提供了

  configSUPPORT_STATIC_ALLOCATION設(shè)置為1

5 任務(wù)調(diào)度器啟動(dòng)前還是啟動(dòng)后,都可以創(chuàng)建任務(wù)

  最常用的一個(gè)

BaseType_t xTaskCreate(  TaskFunction_t pxTaskCode,

                         const char * const pcName,

                         const uint16_t usStackDepth,

                         void * const pvParameters,

                         UBaseType_t uxPriority,

                         TaskHandle_t * const pxCreatedTask )

pxCreatedTask 任務(wù)句柄,就是任務(wù)的任務(wù)堆棧,其他API可能會(huì)用到

  返回值 是反映任務(wù)創(chuàng)建成功或出錯(cuò)碼

         pdPASS:  任務(wù)創(chuàng)建成功。

6 不常用

TaskHandle_t xTaskCreateStatic( TaskFunction_t pxTaskCode,

                                const char * const pcName,

                                const uint32_t ulStackDepth,

                                void * const pvParameters,

                                UBaseType_t uxPriority,

                                StackType_t * const puxStackBuffer,

                                StaticTask_t * const pxTaskBuffer )

 pxTaskBuffer:  任務(wù)控制塊。

 返回值:NULL :  任務(wù)創(chuàng)建失敗

         其他值:  任務(wù)創(chuàng)建成功,返回任務(wù)的任務(wù)句柄。

7 vTaskDelete( TaskHandle_t xTaskToDelete )

  xTaskToDelete:  要?jiǎng)h除的任務(wù)的任務(wù)句柄。

  可以使用NULL做參數(shù),刪除任務(wù)本身

8  關(guān)鍵實(shí)驗(yàn)(學(xué)習(xí)動(dòng)態(tài)創(chuàng)建):

  

  任務(wù)創(chuàng)建:

#define START_TASK_PRIO  1  //任務(wù)優(yōu)先級(jí) 

#define START_STK_SIZE 128 //任務(wù)堆棧大小

TaskHandle_t StartTask_Handler; //任務(wù)句柄  

void start_task(void *pvParameters); //任務(wù)函數(shù)   

xTaskCreate((TaskFunction_t )start_task,   //任務(wù)函數(shù) 

   (const char* )"start_task",    //任務(wù)名稱

            (uint16_t )START_STK_SIZE,     //任務(wù)堆棧大小

            (void* )NULL,                  //傳遞給任務(wù)函數(shù)的參數(shù)

            (UBaseType_t )START_TASK_PRIO, //任務(wù)優(yōu)先級(jí)

            (TaskHandle_t* )&StartTask_Handler); //任務(wù)句柄

vTaskStartScheduler(); //開啟任務(wù)調(diào)度  

開始任務(wù):

 taskENTER_CRITICAL(); //進(jìn)入臨界區(qū)

 //創(chuàng)建 TASK1 任務(wù)

  。。。。。。

 //創(chuàng)建 TASK2 任務(wù)

 vTaskDelete(StartTask_Handler); //刪除開始任務(wù) 

 taskEXIT_CRITICAL(); //退出臨界區(qū)

任務(wù)堆棧、任務(wù)句柄、任務(wù)函數(shù)聲明等,這樣方便修改。這些東

西可以放到一個(gè).h 頭文件里面去,

開始任務(wù):創(chuàng)建其他應(yīng)用任務(wù)和信號(hào)量、隊(duì)列等內(nèi)核對(duì)象

 

 

 

新聞名稱:學(xué)習(xí)筆記-RTOS任務(wù)創(chuàng)建
文章路徑:http://chinadenli.net/article0/ppgcio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)電子商務(wù)、域名注冊(cè)、品牌網(wǎng)站建設(shè)、App設(shè)計(jì)、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)