第二章 FreeRTOS任務管理

2021-09-30 14:48:13 字數 1770 閱讀 7619

區別

vtaskdelay掛起時間是相對於任務呼叫vtaskdelay的那一刻開始計算,vtaskdelayuntil 實現某個任 務 以 固 定 頻 率 周 期 性 執 行 。

void vtaskdelay( portticktype xtickstodelay );

xtickstodelay: 延遲多少個心跳週期。呼叫該延遲函式的任務將進入阻塞態,經延遲指定的心跳週期數後,再轉移到就緒態。

void vtaskdelayuntil( portticktype * pxpreviouswaketime, portticktype xtimeincrement );

pxpreviouswaketime:儲存了任務上一次離開阻塞態(被喚醒)的時刻。這個時刻被用作乙個參考點來計算 該任務下一次離開阻塞態的時刻。pxpreviouswaketime 指 向 的 變 量 值 會 在 api 函 數taskdelayuntil()呼叫過程中自動更新,應用程式除了該變數第一次初始化外,通常都不要修改它的值。

xtimeincrement :此引數命名時同樣是假定 vtaskdelayuntil()用於實現某個任 務 以 固 定 頻 率 周 期 性 執 行 —— 這 個 頻 率 就 是 由xtimeincrement 指定的。

延時時間為b,確定。

延時時間為a+a,不確定。

freertos 中所有的通訊與同步機制都是基於佇列實現的。

xqueuecreate( uxqueuelength, uxitemsize );實際呼叫以下函式

xqueuegenericcreate( uxqueuelength, uxitemsize, queuequeue_type_base );

引數解釋:

uxqueuelength:佇列能夠儲存的最大單元數目,即佇列深度。

uxitemsize:佇列中資料單元的長度,以位元組為單位

queuequeue_type_base :可不同的值,這個值僅用在configuse_trace_facility == 1即開啟追蹤裝置的時候。

返回值 :null 表示沒有足夠的堆空間分配給佇列而導致建立失敗。非 null 值表示佇列建立成功。此返回值應當儲存下來,以作為操作此佇列的控制代碼。

函式功能:

xqueuesend( xqueue, pvitemtoqueue, xtickstowait );實際呼叫以下函式

xqueuegenericsend( ( xqueue ), ( pvitemtoqueue ), ( xtickstowait ), queuesend_to_back );

引數解釋:

略。函式功能:

1.引數斷言

2.prvcopydatatoqueue

configuse_mutexes

configuse_mutexes

configuse_mutexes

第二章 檔案管理 賬戶管理

昨天我們學習了 檔案管理的一部分 今天我學習新的東西 ls 這個命令 大家都不陌生了 但是 這個命令還有一些選項 下面我給大家列舉出來 下面給大家列出幾個例子 ls a 顯示所有檔案 包括隱藏檔案 檔名前面帶 點的都是隱藏檔案 但是 注意 1個點是當前位置 2個點是上一級 長各式顯示 資訊 注意 是...

第二章 專案管理模型

2.1一種模型能適應所有專案嗎?2.2模型概述 2.2.1步驟一和步驟二 啟動過程 專案從概念開始,某人識別出對某事的需求。定義階段是對專案所需解決的問題下乙個好的定義。2.2.2步驟3 制定專案備選戰略 計畫編制會涉及三個方面 戰略,戰術,邏輯。在技術性專案中,可以應用成熟技術,以降低風向 也可以...

第二章 系統網路管理

第二章 系統網路管理 etc hosts 網路對映檔案 root gechong gechong more etc hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 1 localho...