? ? ? 作為一個輕量級的操作系統,FreeRTOS 提供的功能包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能等,可基本滿足較小系統的需要。FreeRTOS 內核支持優先級調度算法,每個任務可根據重要程度的不同被賦予一定的優先級,CPU 總是讓處于就緒態的、優先級最高的任務先運行。FreeRT0S 內核同時支持輪換調度算法,系統允許不同的任務使用相同的優先級,在沒有更高優先級任務就緒的情況下,同一優先級的任務共享CPU 的使用時間。
FreeRTOS 的內核可根據用戶需要設置為可剝奪型內核或不可剝奪型內核。當FreeRTOS 被設置為可剝奪型內核時,處于就緒態的高優先級任務能剝奪低優先級任務的CPU 使用權,這樣可保證系統滿足實時性的要求;當FreeRTOS 被設置為不可剝奪型內核時,處于就緒態的高優先級任務只有等當前運行任務主動釋放CPU 的使用權后才能獲得運行,這樣可提高CPU 的運行效率FreeRTOS 對系統任務的數量沒有限制。
?
一 變量類型定義
#define portCHAR char
#define portFLOAT float
#define portDOUBLE double
#define portLONG long
#define portSHORT short
#define portSTACK_TYPE unsigned portLONG
#define portBASE_TYPE long
二 任務函數
? 任務創建
頭文件:task.h
portBASE_TYPE xTaskCreate (
pdTASK_CODE pvTaskCode, 指向任務的實現函數的指針。效果上僅僅是函數名
const portCHAR * const pcNane, 具有描述性的任務名。FreeRTOS 不會使用它。
unsigned portSHORT usStackDepth, 指定任務堆棧的大小
void *pvParameters, 指針用于作為一個參數傳向創建的任務
unsigned portBASE_TYPE uxPriority, 任務運行時的優先級
xTaskHandle *pvCreatedTask 用于傳遞任務的句柄,可以引用從而對任務進行其他操作。
)
說明:
1. 這里的任務是指一個永遠不會退出的C 函數,通常是一個死循環。
2. pcNane 其只是單純地用于輔助調試。應用程序可以通過定義常量
config_MAX_TASK_NAME_LEN 來定義任務名的最大長度——包括’ 主站蜘蛛池模板: 亚洲 小说 欧美 激情 另类| 国语自产视频在线| 热久久国产欧美一区二区精品| 国产精品美女久久久网站动漫| 中文字幕伊人香蕉在线| 特大巨黑人吊性xxxxgay| 鲁大师影院在线视频在线观看| 国产97精品久久久天天A片| 97人人碰免费视频公开| 亚洲综合日韩在线2019| 无码AV毛片色欲欧洲美洲| 欧美美女一区二区三区| 久久精品一区二区免费看| 国产精品久人妻精品| 啊好深啊别拔就射在里面| 2020国产成人精品免费视频| 亚洲日本欧美国产在线视| 天天躁日日躁狠狠躁午夜剧场| 欧美整片华人play| 芒果影院网站在线观看| 精品国产成a人在线观看| 国产精品一区二区在线播放| 超碰97av 在线人人操| 97国产人妻精品无码AV在线| 在线成 人av影院| 亚洲午夜精品aaa级久久久久| 午夜福利体验免费体验区| 色多多污污在线观看网站| 欧美亚洲日韩国码在线观看| 免费A级毛片无码无遮挡| 理论片87福利理论电影| 久久久亚洲国产精品主播 | chinesevideos原创麻豆| 91精品国产高清久久久久久| 中文国产成人精品久久免费| 伊人成综合网伊人222| 亚洲在线v观看免费国| 野花韩国中文版免费观看| 亚洲中字幕永久在线观看| 一区两区三不卡| 在线观看国产精选免费|