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