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