問題
單片機開發(fā)過程中,隨著任務的增多,完全等待一個任務完成后,再去執(zhí)行下一個任務的弊端越發(fā)明顯。
在while(1)循環(huán)中實現(xiàn)LED 周期閃爍,提示系統(tǒng)正常運行。
代碼實例:
采用時間分割思想,去處理不同的任務,每次執(zhí)行1ms,到500次時,執(zhí)行相應功能。
代碼
定義結構體:
Delay:時間片執(zhí)行時長;
Period:任務執(zhí)行周期。
添加(創(chuàng)建)任務:
刪除任務:
更改任務:
執(zhí)行調度器:
定時器查詢時間片:
測試
封裝好了必要的函數之后,接下來學習如何使用,很簡單,首先創(chuàng)建幾個任務,創(chuàng)建了2個任務,兩個任務分別是task01,“時間片”是50ms(自己根據需要訂),任務周期是500ms,task02,“時間片”是10ms(自己根據需要訂),任務周期是1000ms:
在systick(或者其他定時器)中調用,關于Systick的使用:STM32實例-SysTick實現(xiàn)2個LED流水燈效果。
最后只需要在while中調用調度器就OK了(類似于LVGL的設計思路),根據我們的設計,兩個任務,一個是500ms打印“task01 test”,另一個1000ms打印“task02 test”。
審核編輯:劉清
-
LED閃爍
+關注
關注
0文章
29瀏覽量
10043 -
STM32單片機
+關注
關注
59文章
550瀏覽量
59599 -
裸機
+關注
關注
0文章
40瀏覽量
6695
原文標題:STM32單片機裸機:實現(xiàn)多任務
文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
FreeRTOS多任務系統(tǒng)的相關資料推薦
時間片輪詢+狀態(tài)機實現(xiàn)裸機多任務相關資料分享
stm32F4系列單片機如何利用一個定時器和二行代碼實現(xiàn)多任務的運行?
介紹一種嵌入式裸機多任務切換方法
采用Protothread實現(xiàn)實時多任務系統(tǒng)

51單片機多任務機制的實現(xiàn)策略研究

單片機系統(tǒng)多任務實現(xiàn)方法
51單片機多任務操作系統(tǒng)的原理與實現(xiàn)
如何使用51單片機實現(xiàn)多任務機制的策略詳細資料說明

單片機多任務處理方案
使用單片機實現(xiàn)道路交通燈多任務控制系統(tǒng)的課件說明

實時多任務機制在低功耗單片機系統(tǒng)中的最小實現(xiàn)
時間片輪詢+狀態(tài)機實現(xiàn)裸機多任務

評論