FreeRTOS學習筆記 (二)-任務創建和刪除(xTaskCreate及vTaskDelete)
函數 功能 xTaskCreate() 動態創建一個任務 xTaskCreateStatic() 靜態創建一個任務 xTaskCreateRestricted() 創建使用 MPU 進行限制任務 vTaskDelay() 任務刪除 1. xTaskCreate () --創建一個任務,RAM默認使用heap_4.c(後面章節補充)管理內存。 新創建的任務默認是就緒狀態,如果當前無更高優先權的任務運行,此任務將立刻執行: pvTaskCode :任務函數(函數名稱) pcName :任務名子,名稱不能超過 configMAX_TASK_NAME_LEN, 會自動刪除超過字串 usStackDepth :任務的棧大小 pvParameters :傳遞給任務的參數 uxPriority :任務的優先權,0~configMAX_PRIORITIES-1 pvCreatedTask : 任務句柄。任務創建成功會返回此任務句柄,其他API也會用到 返回值: errCOULD_NOT_ALLOCATE_REQUIRED_MEMORY:失敗,內存不夠 pdPASS:成功 2. vTaskDelete () --刪除任務函數,被刪除的任務將不存在也不再運行。 任務被刪除後,句柄將無法 繼 續使用,若使用 xTaskCreate() 創立則刪除後會釋放掉內存,申請的記憶體會在空閒任務中釋放,所以刪掉任務需要一點時間給空閒任務。 參數: xTaskToDelete :要刪除的任務句柄 返回值:無 ------------------------------------------------------------------------------ 測試: 1.啟動兩個Task void vTaskFunction1 ( void * pvParameters ) { while (1) { taskENTER_CRITICAL(); pr...
留言
張貼留言