国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

歷史上的今天

今天是:2025年07月16日(星期三)

2019年07月16日 | STM32開發(fā)筆記43: 使用CMSIS-RTOS建立任務(wù)

發(fā)布者:暗里著迷 來源: eefocus關(guān)鍵字:STM32  CMSIS-RTOS  建立任務(wù) 手機(jī)看文章 掃描二維碼
隨時隨地手機(jī)看文章

單片機(jī)型號:STM32F070F6P6


昨天,將FreeRTOS移植到STM32現(xiàn)有的工程后,今天希望使用RTOS進(jìn)行工程設(shè)計,遇到的第1個問題,就是工程中的函數(shù)在FreeRTOS的幫助文檔中全部都檢索不到。在網(wǎng)上仔細(xì)學(xué)習(xí)后,才發(fā)現(xiàn),ST公司給的FreeRTOS例程,又進(jìn)行了一層封裝,這層就是CMSIS-RTOS。CMSIS-RTOS是keil公司對不同RTOS的一種封裝結(jié)構(gòu),可以使不同的RTOS具有相同的調(diào)用接口,以方便今后程序的移植。本文,詳細(xì)介紹使用CMSIS-RTOS建立任務(wù)的方法。


使用CMSIS-RTOS建立任務(wù)需要用到兩個API,分別是osThreadDef和GprsTaskHandle,其具體定義如下:


1、osThreadDef


 

#define osThreadDef( name,

                     priority,

                     instances,

                     stacksz 

)

解釋:Define the attributes of a thread functions that can be created by the function osThreadCreate using osThread. The argument instances defines the number of times that osThreadCreate can be called for the same osThreadDef.


參數(shù):name          name of the thread function.

                      priority        initial priority of the thread function.

                      instances    number of possible thread instances.

                      stacksz       stack size (in bytes) requirements for the thread function.


2、osThreadCreate


osThreadId osThreadCreate( const osThreadDef_t *thread_def,

                           void  *argument 

)

解釋:Start a thread function by adding it to the Active Threads list and set it to state READY. The thread function receives the argument pointer as function argument when the function is started. When the priority of the created thread function is higher than the current RUNNING thread, the created thread function starts instantly and becomes the new RUNNING thread.


參數(shù):[in]    thread_def    thread definition referenced with osThread.

                      [in]    argument      pointer that is passed to the thread function as start argument.


 


在osThreadDef涉及到的優(yōu)先級參數(shù),其具體定義如下:


有了上述的準(zhǔn)備工作后,我們就可以建立自己的任務(wù)了,在下面的例子中,我們建立2個任務(wù)分別為:RfidTask和GprsTask,具體步驟如下:


1、聲明任務(wù)ID


osThreadId RfidTaskHandle;

osThreadId GprsTaskHandle;

2、聲明任務(wù)的函數(shù)原型


void StartRfidTask(void const * argument);

void StartGprsTask(void const * argument);

3、在main函數(shù)中創(chuàng)建任務(wù)


osThreadDef(RfidTask, StartRfidTask, osPriorityNormal, 0, 128);

RfidTaskHandle = osThreadCreate(osThread(RfidTask), NULL);

osThreadDef(GprsTask, StartGprsTask, osPriorityNormal, 0, 128);

GprsTaskHandle = osThreadCreate(osThread(GprsTask), NULL);

4、實現(xiàn)RfidTask


void StartRfidTask(void const * argument)

{

  for(;;)

  {

    Target.Iwdg.Refresh();

    Target.HAL.L1.Open();

    osDelay(1000);

    Target.HAL.L1.Shut();

    osDelay(1000);

  }

}

5、實現(xiàn)GprsTask


void StartGprsTask(void const * argument)

{

  for(;;)

  {

    Target.Iwdg.Refresh();

    Target.HAL.L2.Open();

    osDelay(500);

    Target.HAL.L2.Shut();

    osDelay(500);

  }

}

6、將此程序編譯下載到硬件中后,可看到L1以1秒為間隔閃爍,L2以0.5秒為間隔閃爍。


關(guān)鍵字:STM32  CMSIS-RTOS  建立任務(wù) 引用地址:STM32開發(fā)筆記43: 使用CMSIS-RTOS建立任務(wù)

上一篇:STM32開發(fā)筆記44:RTC驅(qū)動程序的移植
下一篇:STM32開發(fā)筆記42: 移植FreeRTOS到現(xiàn)有工程的方法

推薦閱讀

物流配送領(lǐng)域近兩年仿佛成為了機(jī)器人行業(yè)兵家必爭之地,玩家亦是從傳統(tǒng)互聯(lián)網(wǎng)巨頭到創(chuàng)業(yè)新秀各色都有,并且各家有各家的優(yōu)勢和章法——電商背景的巨頭有完整的物流配送業(yè)務(wù)線,自己就是優(yōu)質(zhì)的機(jī)器人落地場景;較早進(jìn)入到酒店等相關(guān)細(xì)分領(lǐng)域的機(jī)器人公司,在已有行業(yè)中積累了一定程度的品牌知名度;甚至還有一些非常“小眾”的入局者,比如,從事電梯物聯(lián)模...
單片機(jī)型號:STM32F401 本文講述移植STM32CubeMX生成的驅(qū)動程序到自己的項目中,以定時器為例。為什么要寫這篇文章呢?是因為定時器移植這件事情耗費(fèi)了我整整2天的時間,只因為一個特殊的地方?jīng)]有注意到。把整個移植過程用文字記錄下來,以利于自身其它程序的移植,并對本文的讀者提供一些技術(shù)上的參考。 1、如果僅完成計時功能,在STM32CubeMX...
一夜之間,蘋果、比爾蓋茨、馬斯克等名人的官方推特賬戶集體被黑,這是什么情況?蘋果公司、亞馬遜CEO杰夫·貝索斯(Jeff Bezos)、微軟創(chuàng)始人比爾·蓋茨(Bill Gates)、民主黨美國總統(tǒng)候選人喬·拜登(Joe Biden)和前美國總統(tǒng)巴拉克·奧巴馬(Barack Obama)等十多個備受矚目的Twitter賬號在當(dāng)?shù)貢r間周三明顯遭到黑客攻擊,紛紛發(fā)布Twitter消息讓粉...
智昌集團(tuán)實時透明工廠大屏演示 孫婧蘊(yùn) 攝智昌集團(tuán)實時透明工廠大屏演示 孫婧蘊(yùn) 攝中新網(wǎng)寧波7月16日電(項菁 孫婧蘊(yùn))倒奶、打奶泡、拉花,短短1分鐘時間,一杯擁有完美圖案的拿鐵便新鮮出爐……在第七屆中國機(jī)器人峰會的機(jī)器人展區(qū),一臺由雙機(jī)械臂組成的全自動咖啡拉花機(jī)器人吸引了眾人圍觀。7月15日至16日,第七屆中國機(jī)器人峰會暨智能經(jīng)濟(jì)人才峰會...

史海拾趣

問答坊 | AI 解惑

WTV系列芯片在電表上的應(yīng)用

WTV系列芯片在電表上的應(yīng)用         安全生產(chǎn)是每個工廠的第一任務(wù)。在各種電力柜設(shè)備當(dāng)中,最怕的就是誤操作,它帶來的損失是很大的,比如造成機(jī)器故障、產(chǎn)品報廢。如何讓每位操作人員在任何時候不出錯呢?我們可以從增強(qiáng)操 ...…

查看全部問答∨

有線和無線通信技術(shù)的演進(jìn)熱點

我們時時刻刻都在使用電子通訊設(shè)備,對此我們習(xí)以為常。我們用汽車收音機(jī)收聽新聞,用手機(jī)交談。我們使用電腦在網(wǎng)絡(luò)上搜索我們想找的東西、收發(fā)電子郵件。當(dāng)我們回家后,我們用MP3播放器聽音樂、收看高清電視或在我們的電子閱讀器上看最新暢銷書。 ...…

查看全部問答∨

用vxworks開發(fā)的fiberchannel網(wǎng)絡(luò)中,數(shù)據(jù)是怎么傳輸?shù)?

請問:用vxworks開發(fā)的fiberchannel網(wǎng)絡(luò)中,數(shù)據(jù)是怎么傳輸?shù)?…

查看全部問答∨

用超級終端通過串口線與MC55進(jìn)行at指令通信所出現(xiàn)的問題

向大家請教一個問題,用超級終端通過串口線與MC55進(jìn)行at指令通信,以下是我寫入的指令,返回值都是“ok”,at^sics=0,conType,GPRS0 at^sics=0,passwd,gprs at^sics=0,user,cm at^sics=0,apn,cmnet at^siss=1,srvType,socket at^siss=1,conId, ...…

查看全部問答∨

問個小問題,ARM板配觸摸屏~

買來的板子是3.5寸液晶觸摸屏,咨詢了下賣家說還提供7寸的,我如果想配更大尺寸的,可以嗎? 從市面上直接買一個觸摸屏,要連上使用,需要做什么工作? 要實現(xiàn)這個復(fù)雜嗎? 請指點!謝謝?。?…

查看全部問答∨

J2ME 一定要有JAVA基礎(chǔ)嗎

我想考嵌入式系統(tǒng)分析師,先學(xué)習(xí)J2ME  可以不 望各位提出建議  謝謝…

查看全部問答∨

使用SD卡刷新image

不知道有沒有人做過ce5.0下面的可以使用SD卡刷image的bootload?最好能提供一份源碼.我的郵箱tiandi.zhu@gmail.com…

查看全部問答∨

LED光學(xué)無線網(wǎng)絡(luò):只要燈亮著就能上網(wǎng)

數(shù)字生活。這是依托互聯(lián)網(wǎng)和一系列數(shù)字科技技術(shù)應(yīng)用為基礎(chǔ)的一種生活方式,可以方便快捷地帶給人們更好的生活體驗和工作便利。    哥倫布航海時代,世界突然變得很大;計算機(jī)、互聯(lián)網(wǎng)問世后世界又開始變小。隨著互聯(lián)網(wǎng)技術(shù)應(yīng)用的日益普及,人類 ...…

查看全部問答∨

初來乍到。。。發(fā)個遙控器(發(fā)送)程序代碼

感興趣的朋友可以看看。。。。 另外今天把接受的發(fā)了上來,不足之處忘多多關(guān)照?。?! [ 本帖最后由 fhm12351 于 2011-6-3 12:19 編輯 ]…

查看全部問答∨

問 管理員 湯湯 問題 ,可能是 bug , 合并BUG

我的積分怎么為0?感覺好像是 因為字?jǐn)?shù)分貼,被你合并后,的原因   論壇 提示 被你 合并 個人空間 里面還是 3個帖子 , 點擊 有的正常, 有的 提示 審核或刪除 指定的主題不存在或已被刪除或正在被審核,請返回。    …

查看全部問答∨
小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved