? ? ? 作為一個輕量級的操作系統(tǒng),FreeRTOS 提供的功能包括:任務(wù)管理、時間管理、信號量、消息隊列、內(nèi)存管理、記錄功能等,可基本滿足較小系統(tǒng)的需要。FreeRTOS 內(nèi)核支持優(yōu)先級調(diào)度算法,每個任務(wù)可根據(jù)重要程度的不同被賦予一定的優(yōu)先級,CPU 總是讓處于就緒態(tài)的、優(yōu)先級最高的任務(wù)先運行。FreeRT0S 內(nèi)核同時支持輪換調(diào)度算法,系統(tǒng)允許不同的任務(wù)使用相同的優(yōu)先級,在沒有更高優(yōu)先級任務(wù)就緒的情況下,同一優(yōu)先級的任務(wù)共享CPU 的使用時間。
FreeRTOS 的內(nèi)核可根據(jù)用戶需要設(shè)置為可剝奪型內(nèi)核或不可剝奪型內(nèi)核。當(dāng)FreeRTOS 被設(shè)置為可剝奪型內(nèi)核時,處于就緒態(tài)的高優(yōu)先級任務(wù)能剝奪低優(yōu)先級任務(wù)的CPU 使用權(quán),這樣可保證系統(tǒng)滿足實時性的要求;當(dāng)FreeRTOS 被設(shè)置為不可剝奪型內(nèi)核時,處于就緒態(tài)的高優(yōu)先級任務(wù)只有等當(dāng)前運行任務(wù)主動釋放CPU 的使用權(quán)后才能獲得運行,這樣可提高CPU 的運行效率FreeRTOS 對系統(tǒng)任務(wù)的數(shù)量沒有限制。
?
一 變量類型定義
#define portCHAR char
#define portFLOAT float
#define portDOUBLE double
#define portLONG long
#define portSHORT short
#define portSTACK_TYPE unsigned portLONG
#define portBASE_TYPE long
二 任務(wù)函數(shù)
? 任務(wù)創(chuàng)建
頭文件:task.h
portBASE_TYPE xTaskCreate (
pdTASK_CODE pvTaskCode, 指向任務(wù)的實現(xiàn)函數(shù)的指針。效果上僅僅是函數(shù)名
const portCHAR * const pcNane, 具有描述性的任務(wù)名。FreeRTOS 不會使用它。
unsigned portSHORT usStackDepth, 指定任務(wù)堆棧的大小
void *pvParameters, 指針用于作為一個參數(shù)傳向創(chuàng)建的任務(wù)
unsigned portBASE_TYPE uxPriority, 任務(wù)運行時的優(yōu)先級
xTaskHandle *pvCreatedTask 用于傳遞任務(wù)的句柄,可以引用從而對任務(wù)進行其他操作。
)
說明:
1. 這里的任務(wù)是指一個永遠(yuǎn)不會退出的C 函數(shù),通常是一個死循環(huán)。
2. pcNane 其只是單純地用于輔助調(diào)試。應(yīng)用程序可以通過定義常量
config_MAX_TASK_NAME_LEN 來定義任務(wù)名的最大長度——包括’ 主站蜘蛛池模板: yy6080三级理论韩国日本 | aaaa级毛片| 久久男人网 | 2023av网站| 国产成人教育视频在线观看 | 久久成人国产 | www色午夜| 亚洲色图综合图片 | 五月婷婷电影 | xxxx性欧美高清 | 一级做a爱片久久毛片 | 黄色三级视频在线观看 | 亚洲成a人片7777 | 精品一精品国产一级毛片 | 天天看人体 | 97人洗澡人人澡人人爽 | 香蕉视频一级 | 黄色片不卡 | 无人区理论片手机看片 | 欧美成人精品一级高清片 | 97午夜理伦片在线影院 | 一级做a爱 一区 | 午夜宅男在线视频 | 色婷婷一区二区三区四区成人 | 亚洲一区二区在线播放 | 国产真实灌醉美女疯狂弄 | 深夜视频免费看 | 欧美一区二区三区四区在线观看 | 狼狼狼色精品视频在线播放 | 日本一道dvd在线中文字幕 | 国产高清一级视频在线观看 | 日本媚薬痉挛在线观看免费 | 狠狠色丁香婷婷综合久久片 | 天天做天天爱天天综合网 | 天天做.天天爱.天天综合网 | 一级特黄a免费大片 | 毛茸茸成熟妇女亚洲人 | 特黄特色的视频免费播放 | 欧美性野久久久久久久久 | 又粗又长又大真舒服好爽漫画 | 日本三级hd高清电影 |