新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II串口通信的設(shè)計(jì)與實(shí)現(xiàn)

嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II串口通信的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2011-03-17 來(lái)源:網(wǎng)絡(luò) 收藏

由該流程圖可以看出:本程序中創(chuàng)建了4個(gè)任務(wù),即LED顯示任務(wù),液晶顯示任務(wù),數(shù)據(jù)發(fā)送任務(wù)和數(shù)據(jù)發(fā)送控制任務(wù)。每一個(gè)任務(wù)都要有相應(yīng)的優(yōu)先級(jí)和任務(wù)堆??臻g,程序中每個(gè)任務(wù)的堆??臻g為512個(gè)字節(jié),優(yōu)先級(jí)依次為11,13,4,6。
ST公司用標(biāo)準(zhǔn)的ANSI C封裝了ARM微處理器中各個(gè)功能寄存器,為用戶(hù)應(yīng)用程序的開(kāi)發(fā)提供了豐富的固件庫(kù)(Firmware)。固件庫(kù)方便用戶(hù)對(duì)底層微處理器外設(shè)進(jìn)行初始化配置,如初始化函數(shù)為void USARTConfigurtion(void),具體代碼如下:

本文引用地址:http://butianyuan.cn/article/156583.htm

6.JPG

7.JPG

初始化操作包括了時(shí)鐘初始化、中斷初始化,I/O接口初始化,初始化等。主程序在完成初始化操作后創(chuàng)建信號(hào)量、消息郵箱和任務(wù)創(chuàng)建。由于信號(hào)量、郵箱都是事件類(lèi)型,所以需用OS_EV-ENT來(lái)定義,信號(hào)量、郵箱的建立由函數(shù)App_EventCreate()完成。

使用信號(hào)量和消息郵箱可以保持任務(wù)之間的的同步,串口數(shù)據(jù)發(fā)送任務(wù)App_TaskSendata(void-*p_arg)發(fā)送信號(hào)量App_UserIFSem通知數(shù)據(jù)發(fā)送控制任務(wù)App_TaskSendata Ctrl(void*p_arg),數(shù)據(jù)發(fā)送控制任務(wù)在接收到信號(hào)量App_User IFSem后,發(fā)送消息(www.Real Vie-w.com\n)給指定郵箱App_UserIFMbox,串口調(diào)用數(shù)據(jù)發(fā)送函數(shù)USART_Send Data(),串口數(shù)據(jù)發(fā)送任務(wù)數(shù)據(jù)發(fā)送完成后發(fā)送通知信號(hào)量App_ UserIFSeml給數(shù)據(jù)發(fā)送控制任務(wù),數(shù)據(jù)發(fā)送控制任務(wù)在接收到發(fā)送完成信號(hào)量App_UserIFSeml后,向指定郵箱發(fā)送另一則消息(www.xust. edu.cn\n),數(shù)據(jù)發(fā)送任務(wù)在接收到消息郵箱后通過(guò)串口發(fā)送接收到的消息內(nèi)容給PC機(jī)。具體代碼如下:

8.JPG

linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉