基于S3C44BOX用中斷方式在μC/OS-Ⅱ上實(shí)現(xiàn)多任務(wù)通信
串口中斷處理調(diào)用程序位于μC/OS_Ⅱ源程序的OS_CPU_A.S文件中,中斷處理程序是用C語(yǔ)言在 44blib.c文件中根據(jù)具體項(xiàng)目要求編寫(xiě)的,之所以不直接跳轉(zhuǎn)到中斷處理程序中去,是因?yàn)樵趯?duì)串口中斷處理過(guò)程中可能有優(yōu)先級(jí)更高的任務(wù)進(jìn)入就緒態(tài), 如在串口處理過(guò)程中若更高優(yōu)先級(jí)的網(wǎng)口任務(wù)就緒,則進(jìn)行任務(wù)的切換,任務(wù)的切換是在操作系統(tǒng)中進(jìn)行的,所以該部分程序是必須的。在程序的開(kāi)頭處用 IMPORT指令對(duì)中斷處理函數(shù)進(jìn)行申明,這樣就能在程序中用BL指令直接調(diào)用位于44blib.c文件中的處理函數(shù),處理函數(shù)主要是對(duì)各種串口數(shù)據(jù)進(jìn)行識(shí)別和分類(lèi),然后交給任務(wù)去處理。程序流程如圖3所示。
圖3 調(diào)用程序
目前該硬件和軟件已調(diào)試完成, 能準(zhǔn)確迅速的收發(fā)數(shù)據(jù), 并開(kāi)始應(yīng)用于電子標(biāo)簽閱讀器的通信接口中。
結(jié) 論
用中斷方式在μC/OS-Ⅱ嵌入式操作系統(tǒng)上實(shí)現(xiàn)多任務(wù)通信, 較之傳統(tǒng)的查詢(xún)方式特別是在多任務(wù)情況下可以提高處理器S3C44BOX 的工作效率以及提高實(shí)時(shí)數(shù)據(jù)的處理實(shí)效, 對(duì)實(shí)際工程應(yīng)用具有一定的參考價(jià)值。
評(píng)論