新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于AVR的無線LED屏控制系統(tǒng)設計

基于AVR的無線LED屏控制系統(tǒng)設計

作者: 時間:2013-10-21 來源:網絡 收藏

  4.2 上位機軟件

  本系統(tǒng)的上位機軟件主要采用VC 設計一個通信界面,實現(xiàn)與LED 遠程控制器通信。用戶界面部分采用MFC 框架基于Dialog 實現(xiàn)。在利用Visual C++進行通過TCP/IP 協(xié)議網絡傳輸數(shù)據(jù)開發(fā)時, 采用IOCP 框架來實現(xiàn)Windows Socket 的完成端口模型。

  IOCP 即I/O 完成端口(I/O Completion Port),是一個異步I/O 的API,它可以高效地將I/O 事件通知給應用程序。一個套接字在被創(chuàng)建后,與一個完成端口進行關聯(lián)。當一個事件發(fā)生的時候,此完成端口就將被操作系統(tǒng)加入一個隊列中, 然后應用程序可以對核心層進行查詢以得到此完成端口。當某項I/O 操作一旦完成, 某個可以對該操作結果進行處理的工作線程就會收到一則通知。在此應用程序中創(chuàng)建一定數(shù)量的工作線程來處理重疊I/O 請求的通知。

  IOCP 框架的啟動流程如圖6 所示。

基于AVR的無線LED屏控制系統(tǒng)設計

  IOCP 框架的實現(xiàn)步驟如下:

 ?。?)初始化Winsock 工作環(huán)境,并創(chuàng)建完成端口,創(chuàng)建完成端口線程,建立一個監(jiān)聽套接字,使套接字與完成端口關聯(lián)起來;

 ?。?)監(jiān)聽套接字開始工作,當監(jiān)聽套接字接收到客戶端TCP 的連接請求時,IOCP 會獲取并處理該消息,創(chuàng)建對應的Socket 對象進行接收處理,完成連接工作;

 ?。?)當客戶端完成TCP 連接后,可以開始數(shù)據(jù)通信,由I/O 線程來負責分發(fā)I/O 請求,通過線程池來分配邏輯處理環(huán)境;

  (4)在接收數(shù)據(jù)后,將微軟提供的一個I/O 數(shù)據(jù)結構(WSAOVERLAPPED)進行擴展,完成協(xié)議解析和數(shù)據(jù)處理。

  此外,這里的線程池只是一個管理隊列,用于處理線程資源的管理, 用最少的線程完成最大業(yè)務邏輯的處理。真正執(zhí)行的線程函數(shù)也不完成詳細的業(yè)務處理,僅僅完成對I/O 請求的再調用,而由虛函數(shù)實現(xiàn)I/O 請求的再處理。

  為了提高軟件的友好性, 框架采用Windows 的消息機制,與UI 進行交互,通過窗口消息將框架的相關信息傳遞給UI 窗口。因此在框架中保留了一個指針成員, 并在需要的時候通過該指針調用消息響應函數(shù)向窗口發(fā)送消息,UI 根據(jù)消息反映框架的運行信息。

  5 、結語

  根據(jù)近年來GSM/GPRS 數(shù)據(jù)通信技術等發(fā)展的趨勢,本文提出了基于GPRS 網絡的、使用低成本SIM300模塊的無線LED 屏控制器的設計方案, 該系統(tǒng)利用TCP/IP 協(xié)議實現(xiàn)了基于GPRS 網絡的無線數(shù)據(jù)的傳送。上位機將文字或圖片信息數(shù)據(jù)通過GPRS 網絡傳輸?shù)竭h程LED 屏終端, 也可以接收客戶端發(fā)送的數(shù)據(jù),再根據(jù)數(shù)據(jù)的內容相應地完成各種命令,控制LED屏顯示相應的信息。該系統(tǒng)設計經測試取得了良好的效果。

陀螺儀相關文章:陀螺儀原理



上一頁 1 2 3 下一頁

關鍵詞: AVR ATmega162 無線LED屏 控制系統(tǒng)

評論


相關推薦

技術專區(qū)

關閉