標(biāo)題:
基于STM32F103的MDK5_RTOS初步探究
[打印本頁]
作者:
liuzhu
時(shí)間:
2015-9-10 00:36
標(biāo)題:
基于STM32F103的MDK5_RTOS初步探究
在嵌入式開發(fā)這條不歸路上漸行漸遠(yuǎn),從最初的51單片機(jī)裸板開始,直到現(xiàn)在開始使用ARM-Cortex系列的單片機(jī),隨著使用的單片機(jī)的處理能力的提升,發(fā)現(xiàn)自己縮寫的那些代碼根本就占用不了處理器的多少處理能力,而且由于只能是單純的循環(huán)加中斷,想要實(shí)現(xiàn)一個(gè) 稍微復(fù)雜點(diǎn)的功能都是相當(dāng)?shù)聂[心。必須要設(shè)計(jì)好半天,有時(shí)候還要自己寫各種調(diào)度的算法,心好累。到這里發(fā)現(xiàn)合理的使用嵌入式操作系統(tǒng)應(yīng)該是開發(fā)一些稍微大型的應(yīng)用的一個(gè)必然的選擇,否則光那些各種調(diào)度功能就能讓人崩潰掉。
在當(dāng)初玩51單片機(jī)的時(shí)候就發(fā)現(xiàn)在Keil中有一個(gè)可以選擇使用操作系統(tǒng)的選項(xiàng),但是當(dāng)年能力很弱,雖然知道有這么個(gè)東西,但是從來都沒有用過。
圖為在MDK中選擇操作系統(tǒng)的地方。
既然使用這些嵌入式的操作系統(tǒng)是以后必然要用的東西的話,與其逃避,倒不如痛快的面對(duì)吧。在分析了眾多的嵌入式操作系統(tǒng)之后,我選擇了一個(gè)最簡(jiǎn)單,但是使用起來相當(dāng)方便,功能也是絲毫不弱的操作系統(tǒng),就是由MDK中自帶的那個(gè)RTOS。
在MDK中使用RTOS是一件相當(dāng)?shù)挠淇觳⑶液?jiǎn)單的過程。尤其是在MDK5中,在這里所有的操作都可以有圖形化的操作。而操作上也是非常的方便的,只要像往常新建一個(gè)工程那樣,只不過在選擇外設(shè)之類的東西的時(shí)候要記得把RTx點(diǎn)選了就OK了。
圖中紅色的部分是需要點(diǎn)選的。
如此這樣,就相當(dāng)于告訴了MDK你要在這個(gè)工程中使用RTOS了。
工程新建完畢了,那么就是對(duì)RTOS的使用了,既然使用了RTOS那么比如線程啦之類的概念也就出現(xiàn)了。之所以使用操作系統(tǒng),就是因?yàn)槭褂昧瞬僮飨到y(tǒng)以后,我們可以新建不同的線程,而各個(gè)線程之間可以互不干擾的運(yùn)行,而且線程之間還可以互相協(xié)作,這樣對(duì)于我們尤其是要用來做一些帶有和用戶交互的功能的時(shí)候就會(huì)方便很多了,比如,我們可以新建3個(gè)線程,其中一個(gè)用來負(fù)責(zé)對(duì)鍵盤的掃描,一個(gè)用來負(fù)責(zé)顯示的輸出,還有一個(gè)用來處理一些邏輯任務(wù)。我們可以非常的方便的利用線程來搞定,這些事情,然而如果不使用操作系統(tǒng)的話,則要利用中斷來實(shí)現(xiàn)鍵盤,利用定時(shí)器來實(shí)現(xiàn)顯示,主函數(shù)來實(shí)現(xiàn)邏輯處理,雖然也能實(shí)現(xiàn),但是實(shí)現(xiàn)起來卻要麻煩很多。
既然,使用操作系統(tǒng)能夠帶給我們這么多的便利,那么下面就來探究一下,使用了操作系統(tǒng)后代碼該如何來寫。
首先,需要包含 一個(gè) 叫做 的頭文件,基本上所有在RTOS中會(huì)用到的東西,在這個(gè)文件中都可以找到相關(guān)的內(nèi)容。
之后 就可以像往常寫代碼那樣開始編寫了。
同樣是從main函數(shù)開始。然后一步一步的往下執(zhí)行。不同的是在使用了操作系統(tǒng)之后,可以新建各種線程,內(nèi)存管理等等。
具體的使用過程,敬請(qǐng)關(guān)注 相關(guān)的內(nèi)容。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1