<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 探討VxWorks實(shí)現自動(dòng)發(fā)送彩信嵌入式設計

探討VxWorks實(shí)現自動(dòng)發(fā)送彩信嵌入式設計

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

  (2)系統串口連接電路的部分電路如圖3所示。ARM7處理器提供標準的UART接口連接手機模塊,另外提供一個(gè)串行接口,與圖像壓縮處理器模塊串行接口相連。

系統軟件設計

● 操作系統和開(kāi)發(fā)環(huán)境

  是目前世界上用戶(hù)數量最大的實(shí)時(shí)操作系統,具有豐富的應用軟件支持、良好的技術(shù)服務(wù)、可伸縮性(提供了超過(guò)1800個(gè)應用編程接口供用戶(hù)自行選擇使用)、可裁減性(指用戶(hù)可以根據自己的應用需求對進(jìn)行配置,產(chǎn)生具有各種不同功能的操作系統映像)和可靠的系統穩定性。本系統主要采用其實(shí)時(shí)性、多任務(wù)、基于優(yōu)先級的搶占式調度、同優(yōu)先級輪轉調度和任務(wù)間的通信與同步機制、任務(wù)與中斷之間的通信機制。

  VxWorks的開(kāi)發(fā)環(huán)境是WindRiver(風(fēng)河)公司提供的Tornado。Tornado采用主機-目標機開(kāi)發(fā)方式,主機系統采用運行Windows2000/NT的工作站或PC,VxWorks則運行在A(yíng)RM等目標處理器上。Tornado采用的主機-目標機連接方式為以太網(wǎng)、串行線(xiàn)等,主機與目標機之間的通信是通過(guò)運行各自處理器上的代理進(jìn)程來(lái)完成的,使主機上的開(kāi)發(fā)工具和目標機的操作系統可以完全脫離相互連接的方式。Tornado提供了友好的可視化開(kāi)發(fā)界面、交叉編譯環(huán)境、源碼級調試工具、目標機命令解釋器和目標機狀態(tài)監視器等多種應用工具,為應用軟件開(kāi)發(fā)提供了一個(gè)高效而可靠的平臺。

● 軟件設計原理

  軟件設計采用事件驅動(dòng)機制;中斷事件激活I(lǐng)SR,ISR將事件排隊,并通過(guò)信號量的v 操作通知處理任務(wù)。處理任務(wù)進(jìn)行p 操作,在沒(méi)有事件需要 處理時(shí)就會(huì )阻塞,如果得到信號量則根據事件隊列的內容進(jìn)行相應處理;事件處理任務(wù)為一永久循環(huán)。

軟件設計流程如圖4所示。

軟件設計流程圖

圖4 軟件流程圖

● 軟件關(guān)鍵設計的具體實(shí)現

  (1)當系統啟動(dòng)時(shí)等待一段時(shí)間,若超時(shí)則正常加載內核進(jìn)行引導,若從串口UART接收到配置參數請求信息,則通過(guò)串口UART發(fā)送配置文件到PC端;PC端對配置參數進(jìn)行處理后,再將參數通過(guò)串口發(fā)送到設備,設備再將參數以文件的形式進(jìn)行存儲。

  (2)初始化手機模塊。先利用手機模塊的硬復位線(xiàn)將手機進(jìn)行硬復位,一直等到手機能響應AT指令,再將手機的信息通知功能打開(kāi),初始化短信處理到文本模式,激活CDMA,一直等待,手機信號要足夠強。

3)當接收到滿(mǎn)足觸發(fā)條件的短信息后,發(fā)起中斷處理任務(wù),將UIM卡中的短消息讀出到緩沖,將短消息刪除,對緩沖中短消息的有效性進(jìn)行判斷,若為有效短消息則進(jìn)行相應的處理,再將根據短消息配置后的參數保存。

  (4)系統根據觸發(fā)參數發(fā)起任務(wù)進(jìn)行拍照、封裝,調用建立PPP連接的函數,先用AT指令ATD#777接通CDMA,然后初始化PPP連接,當PPP連接完成后設置好相應的IP參數。

  (5)然后初始化WAP相關(guān)參數,建立WAP連接,調用彩信發(fā)送函數將圖片發(fā)送到目的移動(dòng)通信終端用戶(hù),斷開(kāi)PPP連接。

  關(guān)鍵源代碼如下。

  STATUS mmsmain(viod)

  {

  int ioFd, i;

  pSysInfo = (sysInfo_t *) calloc(1, sizeof(sysInfo_t));

  pSysInfo->TIckRate = SYS_TICK_RATE;

  pSysInfo->pQueue = msgQCreate( SYS_MSG_COUNT, sizeof(sysMsg_t), MSG_Q_FIFO );

  pSysInfo->pCamQueue = msgQCreate( SYS_MSG_COUNT, sizeof(sysMsg_t), MSG_Q_FIFO );

  pSysInfo->pPhotoQueue = msgQCreate(SYS_MSG_COUNT, sizeof(sysMsg_t), MSG_Q_FIFO);

  pSysInfo->pModemQueue = msgQCreate(SYS_MSG_COUNT, sizeof(sysMsg_t), MSG_Q_FIFO);

  DEBUG_PRINT(("Now begin read cONfig information... "));

  if (readFlash() == ERROR)

  {

  initDefaultInfo();

  readFlash();

  }



評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>