• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

22.4.1-任務(wù)優(yōu)先級(jí)相關(guān) 任務(wù)優(yōu)先級(jí)與中斷優(yōu)先級(jí) FreeRTOS 項(xiàng)目

02/13 08:42
1327
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

聯(lián)系方式.txt

共1個(gè)文件

這個(gè)是全網(wǎng)最詳細(xì)的STM32項(xiàng)目教學(xué)視頻。
第一篇在這里:
視頻在這里


STM32智能小車(chē)V3-STM32入門(mén)教程-openmv與STM32循跡小車(chē)-stm32f103c8t6-電賽 嵌入式學(xué)習(xí) PID控制算法 編碼器電機(jī) 跟隨

V3:HAL庫(kù)開(kāi)發(fā)、手把手教學(xué)下面功能:PID速度控制、PID循跡、PID跟隨、遙控、避障、PID角度控制、openmv視覺(jué)控制、電磁循跡、FreeRTOS、K210視覺(jué)智能車(chē)(更新中)、K230視覺(jué)智能車(chē)(更新中)、MSPM0G3507視覺(jué)智能車(chē)(更新中)

在這里插入圖片描述

22.4-任務(wù)優(yōu)先級(jí)與中斷優(yōu)先級(jí)

前面我們創(chuàng)建任務(wù)的時(shí)候,需要設(shè)置任務(wù)的優(yōu)先級(jí),那么任務(wù)的優(yōu)先級(jí)是什么意思? 和中斷優(yōu)先級(jí)有什么區(qū)別那?我們新建多個(gè)任務(wù)時(shí)候又應(yīng)該如何確定任務(wù)的優(yōu)先級(jí)那?

22.4.1-任務(wù)優(yōu)先級(jí)相關(guān)

任務(wù)優(yōu)先級(jí)概念(了解)

任務(wù)優(yōu)先級(jí)決定了哪個(gè)任務(wù)先執(zhí)行,哪個(gè)任務(wù)后執(zhí)行。當(dāng)系統(tǒng)中有多個(gè)任務(wù)需要運(yùn)行時(shí),F(xiàn)reeRTOS 會(huì)根據(jù)任務(wù)優(yōu)先級(jí)來(lái)決定哪一個(gè)任務(wù)獲得 CPU 時(shí)間片。

  • 高優(yōu)先級(jí)任務(wù) 會(huì)搶占低優(yōu)先級(jí)任務(wù)。
  • 每個(gè)任務(wù)可以設(shè)置一個(gè)優(yōu)先級(jí),優(yōu)先級(jí)的值越大,任務(wù)的優(yōu)先級(jí)越高。
任務(wù)優(yōu)先級(jí)設(shè)置和最高優(yōu)先級(jí)設(shè)置(了解)

任務(wù)優(yōu)先級(jí)設(shè)置

任務(wù)優(yōu)先級(jí)在每次新建任務(wù)可以在NewTask的Priority中設(shè)置優(yōu)先級(jí)
在這里插入圖片描述
如果自己寫(xiě)代碼新建任務(wù)可以在 xTaskCreate 函數(shù)中的 uxPriority 參數(shù)設(shè)置的。

xTaskCreate(TaskFunction, "TaskName", STACK_SIZE, NULL, PRIORITY, NULL);

任務(wù)優(yōu)先級(jí)的動(dòng)態(tài)調(diào)整

FreeRTOS 提供了調(diào)整任務(wù)優(yōu)先級(jí)的 API,如 vTaskPrioritySet(),可以動(dòng)態(tài)改變?nèi)蝿?wù)的優(yōu)先級(jí)。例如,某些情況下,任務(wù)的優(yōu)先級(jí)可能需要在運(yùn)行時(shí)進(jìn)行調(diào)整。

vTaskPrioritySet(taskHandle, newPriority);//taskHandle:任務(wù)句柄、newPriority:新的要設(shè)置的優(yōu)先級(jí)

任務(wù)最高優(yōu)先級(jí)設(shè)置

FreeRTOS 的優(yōu)先級(jí)是一個(gè) 無(wú)符號(hào)整數(shù),通常是從 0(最低優(yōu)先級(jí))到 configMAX_PRIORITIES-1(最高優(yōu)先級(jí))。

configMAX_PRIORITIES 在STM32Cubemx中設(shè)置或者代碼中設(shè)置(建議STM32Cbuemx設(shè)置然后生成代碼)

一般不用設(shè)置太大夠用就可以,比如設(shè)置5-7等
在這里插入圖片描述

任務(wù)優(yōu)先級(jí)分配分配方案!(重點(diǎn)掌握)

對(duì)于初學(xué)者,有時(shí)候會(huì)糾結(jié)任務(wù)優(yōu)先級(jí)設(shè)置為多少合適,因?yàn)槿蝿?wù)優(yōu)先級(jí)設(shè)置多少是沒(méi)有標(biāo)準(zhǔn)的。對(duì)于這個(gè)問(wèn)題,這里為大家推薦一個(gè)標(biāo)準(zhǔn),任務(wù)優(yōu)先級(jí)設(shè)置推薦方式如下圖:
在這里插入圖片描述

  1. IRQ 任務(wù):IRQ 任務(wù)是指通過(guò)中斷服務(wù)程序進(jìn)行觸發(fā)的任務(wù),此類(lèi)任務(wù)應(yīng)該設(shè)置為所有任務(wù)里面優(yōu)先級(jí)最高的。比如中斷觸發(fā)的數(shù)據(jù)處理解析、中斷觸發(fā)的報(bào)警和急停等任務(wù)。
  2. 高優(yōu)先級(jí)后臺(tái)任務(wù):比如按鍵檢測(cè),觸摸檢測(cè),USB 消息處理,串口消息處理等,都可以歸為這一類(lèi)任務(wù)。
  3. 低優(yōu)先級(jí)的時(shí)間片調(diào)度任務(wù):比如 emWin 的界面顯示,LED 數(shù)碼管的顯示等不需要實(shí)時(shí)執(zhí)行的都可以歸為這一類(lèi)任務(wù)。實(shí)際應(yīng)用中用戶不必拘泥于將這些任務(wù)都設(shè)置為優(yōu)先級(jí) 1 的同優(yōu)先級(jí)任務(wù),可以設(shè)置多個(gè)優(yōu)先級(jí),只需注意這類(lèi)任務(wù)不需要高實(shí)時(shí)性。
  4. 空閑任務(wù):空閑任務(wù)是系統(tǒng)任務(wù)。
  5. 特別注意:IRQ 任務(wù)和高優(yōu)先級(jí)任務(wù)必須設(shè)置為阻塞式(調(diào)用消息等待或者延遲等函數(shù)即可),只有這樣,高優(yōu)先級(jí)任務(wù)才會(huì)釋放 CPU 的使用權(quán),,從而低優(yōu)先級(jí)任務(wù)才有機(jī)會(huì)得到執(zhí)行。
    這里可以增加后面所做任務(wù)優(yōu)先級(jí)的計(jì)劃,和為什么那么做?

這個(gè)是已經(jīng)新增任務(wù)的優(yōu)先級(jí),默認(rèn)任務(wù)和led任務(wù)設(shè)置正常優(yōu)先級(jí),OLED刷新任務(wù)設(shè)置低于正常優(yōu)先級(jí),這就是因?yàn)椋篛LED的刷新并不需要實(shí)時(shí)執(zhí)行,所以設(shè)置低一些。
在這里插入圖片描述
后面章節(jié)我們會(huì)新增一些任務(wù)這里寫(xiě)出對(duì)他們優(yōu)先級(jí)的設(shè)置規(guī)劃

最高優(yōu)先級(jí)是電機(jī)停止任務(wù),因?yàn)檫@個(gè)任務(wù)我們是等待按鍵中斷的二值信號(hào)量的屬于IRQ 任務(wù)(通過(guò)中斷服務(wù)程序進(jìn)行觸發(fā)的任務(wù))

其次是123456就是用來(lái)完成裸機(jī)時(shí)候的1和2和3和4和5和6模式的任務(wù)。

再然后是LED閃爍任務(wù)

最后是OLED刷新任務(wù),OLED刷新和LED燈閃爍都是屬于提示顯示任務(wù)設(shè)置比較低的優(yōu)先級(jí)就可以
在這里插入圖片描述

 

  • 聯(lián)系方式.txt
    下載
意法半導(dǎo)體

意法半導(dǎo)體

意法半導(dǎo)體(ST)集團(tuán)于1987年6月成立,是由意大利的SGS微電子公司和法國(guó)Thomson半導(dǎo)體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱(chēng)改為意法半導(dǎo)體有限公司。意法半導(dǎo)體是世界最大的半導(dǎo)體公司之一,公司銷(xiāo)售收入在半導(dǎo)體工業(yè)五大高速增長(zhǎng)市場(chǎng)之間分布均衡(五大市場(chǎng)占2007年銷(xiāo)售收入的百分比):通信(35%),消費(fèi)(17%),計(jì)算機(jī)(16%),汽車(chē)(16%),工業(yè)(16%)。 據(jù)最新的工業(yè)統(tǒng)計(jì)數(shù)據(jù),意法半導(dǎo)體是全球第五大半導(dǎo)體廠商,在很多市場(chǎng)居世界領(lǐng)先水平。例如,意法半導(dǎo)體是世界第一大專(zhuān)用模擬芯片和電源轉(zhuǎn)換芯片制造商,世界第一大工業(yè)半導(dǎo)體和機(jī)頂盒芯片供應(yīng)商,而且在分立器件、手機(jī)相機(jī)模塊和車(chē)用集成電路領(lǐng)域居世界前列.

意法半導(dǎo)體(ST)集團(tuán)于1987年6月成立,是由意大利的SGS微電子公司和法國(guó)Thomson半導(dǎo)體公司合并而成。1998年5月,SGS-THOMSON Microelectronics將公司名稱(chēng)改為意法半導(dǎo)體有限公司。意法半導(dǎo)體是世界最大的半導(dǎo)體公司之一,公司銷(xiāo)售收入在半導(dǎo)體工業(yè)五大高速增長(zhǎng)市場(chǎng)之間分布均衡(五大市場(chǎng)占2007年銷(xiāo)售收入的百分比):通信(35%),消費(fèi)(17%),計(jì)算機(jī)(16%),汽車(chē)(16%),工業(yè)(16%)。 據(jù)最新的工業(yè)統(tǒng)計(jì)數(shù)據(jù),意法半導(dǎo)體是全球第五大半導(dǎo)體廠商,在很多市場(chǎng)居世界領(lǐng)先水平。例如,意法半導(dǎo)體是世界第一大專(zhuān)用模擬芯片和電源轉(zhuǎn)換芯片制造商,世界第一大工業(yè)半導(dǎo)體和機(jī)頂盒芯片供應(yīng)商,而且在分立器件、手機(jī)相機(jī)模塊和車(chē)用集成電路領(lǐng)域居世界前列.收起

查看更多

相關(guān)推薦

方案定制

去合作
方案開(kāi)發(fā)定制化,2000+方案商即時(shí)響應(yīng)!