170 精準的週期性任務排程

2021-10-01 03:14:25 字數 663 閱讀 3473

這是官方的第5個例程,這個例程以及相應的講解還是給了我一些提示讓我學到了一些東西的。

在詳細進行這個學習教程的學習之前,我自己憑感覺用了一陣子freertos,我想實現乙個週期性的任務排程,於是使用了vtaskdelay的介面做了乙個實現。結果測試下來,印象中大約是每47次就會出現一次偏差。一直沒弄明白什麼原因,後來直接放棄採用了中斷。或許,這個可以解決我當時遇到的問題吧!

看一下這個**:

**中,之前熟悉的vtaskdelay被vtaskdelayuntil代替。這裡還涉及到乙個介面xtaskgettickcount,這個應該是獲取當前系統tick數目的乙個介面。從注釋可以看出,上一次的tick只有一次初始化。其實,這裡也算是澄清了乙個問題點:task的初始化應該是只會執行一次,之後排程器的作用只是決定死迴圈中的內容是否有實質性的執行。或許,這也是 rtos實現的乙個思想或者技巧?

看一下軟體的執行效果,為了方便看出執行效果,**中的延時被我改掉了:

執行效果是有了,之前我電腦上的實際執行速度與理論上的速度有乙個2倍關係的問題還是存在。

週期性任務計畫

一次性任務計畫 at,batch 週期性任務計畫 crontab,anacron 一次性任務計畫 at 互動式 讓使用者在 at 提示符輸入多個要執行命令 批處理 讓任務的個命令寫入檔案由 at進行呼叫 at命令 語法 at option time time hh mm yyyy mm dd noo...

設定週期性任務

cron是乙個linux下的定時執行工具,可以在無需人工干預的情況下執行作業。由於cron 是linux的內建服務,但它不自動起來,可以用以下的方法啟動 關閉這個服務 service crond start 啟動服務 service crond stop 關閉服務 service crond res...

設定crontab週期性排程任務中的上下文環境問題

通過oracle資料庫匯出任務進行說明。linux下oracle資料庫定時備份舉例 錯誤的匯出指令碼 exp xgxt 123 orcl owner xgxt file home oracle xgxt date y m d h m dmp 執行任務出現如下錯誤 message 206 not fo...