新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于MiniGUI的GPS自動定位系統設計

        基于MiniGUI的GPS自動定位系統設計

        作者: 時間:2012-08-16 來源:網絡 收藏

        3.3 應用程序

        (1)主程序

        主程序流程如圖7(a)所示,用來完成操作的初始化。其中使用語句OSTaskCreate(Task0,(void*)O,TaskStk[TaskStkLengh-1],10)創建任務O;使用語句_app_entry()創建主線程;使用語句KevMbox=OSMboxCreate(NULL)建立一個郵箱,用于傳遞按鍵消息,最后開始多任務調度。

        (2)任務O

        任務O流程如圖7(b)所示,用來完成硬件的初始化。通過I2C接口的輸入引擎讀取按鍵鍵值,如有按鍵按下通過OSMboxPost(KeyMbo-x,(void*)s_key_in)發送鍵值到KeyMbox郵箱。通過郵局OSTimeDly(5)交出CPU占用資源,運行其他任務。

        (3)入口程序設計

        入口程序如圖7(c)所示,用來完成消息處理。使用語句InitMainWindow()初始化窗體;使用語句ShowWindow(hMainWnd,SW_SHOWNORMAL)顯示窗體,其中hMainWnd為窗體句柄;使用語句GetMessage(Msg,hMainWnd))獲取消息,其中Msg數據結構用于保存消息;使用語句Trans-lateMessage(Msg)把消息送入隊列;使用語句DispatchMessage(Msg)分配信息給窗體回調函數;使用語句MainWindowThreadCleanup(hM-ainWnd)清除線程。

        (4)MiniGUI窗體回調程序設計

        窗體回涮函數流程如圖7(d)所示,根據消息類型確定要執行的程序。如果消息類型為MSG-PAINT,先調用數據讀取以及處理程序,用MiniGUI內部函數TextOut(hdc,10,10,”顯示字符”),在指置顯示字符;最后調用μC/OS-II系統函數OSTimeDly(100)開始任務調度。如果消息類型為MSG_CLOSE,用語句DestroyMainWindow(hWnd)銷毀窗體;用語句PostQuitMessage(hWnd)發送退出消息。

        4 系統實驗

        系統軟件采用ADS V1.2開發、調試,使用PC機對MiniGUI源代碼進行編譯,生成MiniGUI靜態鏈接庫文件MiniGUI-Lib.a。然后交叉編譯MiniGUI應用程序,與MiniGUI靜態鏈接庫、POSIX線程庫鏈接,生成二進制文件下載到LPC2103的FLASH運行。系統軟件編譯過程如圖8所示。

        模塊和LPC2103串口0連接,并放置到室外,將生成的可執行文件燒寫到LPC2103的FLASH內部,上電運行,運行結果如圖9所示。

        結語

        系統運行穩定,具有功耗低、速度快、可裁剪、可固化、實時性能優越等特點。能夠準確顯示經度、緯度、系統日期、時間、海拔、航向、航速等信息,并可以對所處位置進行查詢。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 扶绥县| 南江县| 垫江县| 遂川县| 古浪县| 罗江县| 花莲市| 临洮县| 泸溪县| 高淳县| 博野县| 壤塘县| 海宁市| 洛浦县| 绥宁县| 正镶白旗| 英吉沙县| 水富县| 新沂市| 资中县| 塔城市| 盐城市| 中山市| 孟连| 忻州市| 丹江口市| 措美县| 航空| 育儿| 晋中市| 铁力市| 诸暨市| 稷山县| 环江| 息烽县| 江达县| 九江市| 通辽市| 加查县| 彭州市| 太仆寺旗|