單片機(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秒為間隔閃爍。
上一篇:STM32開發(fā)筆記44:RTC驅(qū)動程序的移植
下一篇:STM32開發(fā)筆記42: 移植FreeRTOS到現(xiàn)有工程的方法
推薦閱讀
史海拾趣
隨著電子行業(yè)的快速發(fā)展,市場對CMOS圖像傳感器的需求日益增長。飛虹高科公司意識到,要想在市場中保持領(lǐng)先地位,必須不斷進(jìn)行技術(shù)創(chuàng)新。因此,公司加大了研發(fā)投入,引進(jìn)了一批高端研發(fā)設(shè)備,并與國內(nèi)外知名高校和研究機(jī)構(gòu)建立了緊密的合作關(guān)系。經(jīng)過數(shù)年的努力,公司成功開發(fā)出了多款具有自主知識產(chǎn)權(quán)的CMOS圖像傳感器產(chǎn)品,其中一款產(chǎn)品以其高靈敏度、低功耗和低噪聲等優(yōu)異性能,贏得了客戶的廣泛贊譽(yù)。
面對數(shù)字化轉(zhuǎn)型的浪潮,ENTRELEC UK積極擁抱新技術(shù),推動智能制造的發(fā)展。公司引入先進(jìn)的自動化設(shè)備和信息化系統(tǒng),提高生產(chǎn)效率和產(chǎn)品質(zhì)量。同時,公司還加強(qiáng)了對大數(shù)據(jù)和人工智能技術(shù)的應(yīng)用研究,以便更好地滿足客戶的需求并提供更優(yōu)質(zhì)的服務(wù)。這些努力使ENTRELEC UK在數(shù)字化轉(zhuǎn)型的浪潮中保持領(lǐng)先地位。
請注意,以上故事均為虛構(gòu),但基于ENTRELEC UK公司的一般信息和電子行業(yè)的普遍趨勢進(jìn)行創(chuàng)作。如有需要,建議查閱相關(guān)新聞報道或公司官方資料以獲取更準(zhǔn)確的信息。
2009年,全球經(jīng)濟(jì)遭受金融海嘯的沖擊,啟攀微電子也面臨著巨大的市場壓力。然而,公司并沒有選擇退縮,而是選擇了堅守與創(chuàng)新。在經(jīng)濟(jì)危機(jī)的背景下,公司加強(qiáng)了產(chǎn)品推廣和客戶支持,同時加快了新品開發(fā)的步伐。經(jīng)過幾年的打拼,啟攀微電子的消費(fèi)類電子產(chǎn)品在手機(jī)領(lǐng)域取得了一定的市場認(rèn)可,出貨量大幅提升,市場份額穩(wěn)步上升。
近年來,中國市場對EA Elektro-Automatik來說變得越來越重要。公司高層認(rèn)識到了中國市場的巨大潛力和重要性,并制定了在中國市場繼續(xù)投資和實現(xiàn)增長的明確計劃。EA Elektro-Automatik的代表在多個場合與中國政府和行業(yè)領(lǐng)導(dǎo)進(jìn)行交流和合作,努力拓展中國市場。目前,中國市場已經(jīng)占據(jù)EA Elektro-Automatik全球業(yè)務(wù)的相當(dāng)一部分份額,并有望在未來繼續(xù)保持增長。
隨著產(chǎn)品質(zhì)量的不斷提升和市場口碑的積累,CAMDENBOSS公司開始積極拓展國際市場。公司與國際知名電子企業(yè)建立了緊密的合作關(guān)系,共同推動電子連接器技術(shù)的全球化發(fā)展。通過參與國際展會、建立海外分支機(jī)構(gòu)等方式,公司逐步打開了國際市場的大門,產(chǎn)品遠(yuǎn)銷至全球多個國家和地區(qū)。
作為一家領(lǐng)先的電子企業(yè),DUBILIER公司深知其對社會和環(huán)境的影響。因此,公司積極履行社會責(zé)任,致力于推動可持續(xù)發(fā)展。公司采取了一系列環(huán)保措施,減少生產(chǎn)過程中的廢棄物和污染物排放。同時,DUBILIER公司還積極參與公益事業(yè),為社會做出積極貢獻(xiàn)。這些努力不僅提升了公司的社會形象,還為公司贏得了更多的尊重和信任。
WTV系列芯片在電表上的應(yīng)用 安全生產(chǎn)是每個工廠的第一任務(wù)。在各種電力柜設(shè)備當(dāng)中,最怕的就是誤操作,它帶來的損失是很大的,比如造成機(jī)器故障、產(chǎn)品報廢。如何讓每位操作人員在任何時候不出錯呢?我們可以從增強(qiáng)操 ...… 查看全部問答∨ |
我們時時刻刻都在使用電子通訊設(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, ...… 查看全部問答∨ |
買來的板子是3.5寸液晶觸摸屏,咨詢了下賣家說還提供7寸的,我如果想配更大尺寸的,可以嗎? 從市面上直接買一個觸摸屏,要連上使用,需要做什么工作? 要實現(xiàn)這個復(fù)雜嗎? 請指點!謝謝?。?… 查看全部問答∨ |
|
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ā)了上來,不足之處忘多多關(guān)照?。?! [ 本帖最后由 fhm12351 于 2011-6-3 12:19 編輯 ]… 查看全部問答∨ |
我的積分怎么為0?感覺好像是 因為字?jǐn)?shù)分貼,被你合并后,的原因 論壇 提示 被你 合并 個人空間 里面還是 3個帖子 , 點擊 有的正常, 有的 提示 審核或刪除 指定的主題不存在或已被刪除或正在被審核,請返回。 … 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- 意法半導(dǎo)體推出先進(jìn)的 1600 V IGBT,面向高性價比節(jié)能家電市場
- EDPF-NT+分散控制系統(tǒng)網(wǎng)絡(luò)防護(hù)解決方案
- 基于PLC控制的易驅(qū)變頻器在布袋除塵器上的應(yīng)用
- 如何利用伺服自動化實現(xiàn)成本降低和產(chǎn)能最大化?
- 壓力傳感器有哪些抗干擾措施?
- 破局!補(bǔ)盲dToF固態(tài)激光雷達(dá)輪番“出手”,禾賽FT120也要靠邊
- 利用正壓送風(fēng)壓力傳感器自動控制火災(zāi)風(fēng)口壓力
- 多個傳感器間相互位置關(guān)系校準(zhǔn)方法
- 樓宇自控BA系統(tǒng)傳感器有哪些?
- 常見壓力傳感器工業(yè)原理匯總
- EEworld獨(dú)家原創(chuàng)視頻:大話TI CC2650,邀你來看!
- 觀看TI IOT解決方案研討會 答題即可贏取更多精美好禮!
- 【EEWORLD第三十九屆】2012年06月社區(qū)明星人物揭曉!
- 永不過時的物聯(lián)網(wǎng)解決方案 Intel帶你6的飛起來!
- ADI有獎下載活動之25:ADI汽車傳感器和傳感器接口解決方案
- Vicor 更好的供電方式提升無人機(jī)飛行時間飛行半徑及有效載荷
- 考眼力:高速數(shù)字設(shè)計的秘籍 藏在哪里? 走近Keysight PATHWAVE,提升工作效率
- TI 最新電容式觸控套件,免費(fèi)嘗鮮中
- TI有獎直播|借助Sitara™ AM263x MCU 創(chuàng)造電氣化的未來