關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于WinCE6.0的 LPC3250串口驅動程序開發

        基于WinCE6.0的 LPC3250串口驅動程序開發

        作者: 時間:2009-09-18 來源:網絡 收藏

        Clpc32xxPdd16550UART是個抽象類,實現通用功能,具體的要分別由繼承的標準串口Clpc32xxPdd16550Stan- dardUART類和高速串口Clpc32xxPdd16550HighUART類實現。在各自初始化時,主要是配置各種寄存器,實現具體硬件差異化,包括:配置UART時鐘控制寄存器、時鐘模式寄存器和時鐘選擇寄存器,分別使能UART時鐘、設置自動時鐘模式、選擇相應的時鐘源作為分頻器的輸入時鐘;禁止UART3 Modem和UART6 IrDA功能;禁止UART的回送功能。
        特別要強調的是關于中斷的處理,中斷可以用動態映射,也可以用靜態映射。在OEMInter-ruptHandler、 Clpc32xxPdd16550UART::Init、CPdd16550::Init、CPdd16550::ThreadRun等處加入調試打印信息,可以較快地找到問題所在,確定硬件中斷是否映射為系統中斷、系統中斷與中斷事件是否綁定、中斷產生時是否進入相應的處理程序。中斷處理好了,就基本完成了。
        上述工作結束后,就要添加串口的注冊表。以串口3為例,主要是設置動態鏈接庫DLL、設備基地址、中斷號、前綴名、被加載的順序等。根據注冊表的 DeviceArrayIn-dex、CreateSerialObject就可以構造標準串口或高速串口類實例了, DeleteSerialObject在退出驅動時刪除實例。具體代碼如下:

        本文引用地址:http://www.104case.com/article/202649.htm


        在廣州致遠電子有限公司的SmartARM開發板上,通過WinCE的串口應用程序與上位PC機進行發送接收實驗,本驅動已經實現標準串口最高460 800 b/s、高速串口最高921 600 b/s的穩定傳輸。

        結 語
        本文介紹了.0下的模型,結合的硬件情況,詳細說明了串口驅動開發過程,包括配置串口相關的寄存器和處理中斷中重要函數的實現,以及注冊表和Source文件編寫等。本驅動程序在廣州致遠電子有限公司的SmartARM開發板上實驗成功。在串口驅動開發中所用的思路,對其他類似的驅動設計有較高的參考價值。


        上一頁 1 2 3 下一頁

        關鍵詞: WinCE6 3250 LPC 串口驅動

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 海林市| 巧家县| 延寿县| 丘北县| 湘阴县| 汉阴县| 廊坊市| 万荣县| 西乌| 姚安县| 开化县| 原平市| 上林县| 金山区| 沙洋县| 刚察县| 正蓝旗| 文昌市| 红河县| 讷河市| 舒城县| 郁南县| 海晏县| 河津市| 尚志市| 武汉市| 泗阳县| 京山县| 当阳市| 通江县| 永德县| 子洲县| 望谟县| 平江县| 郧西县| 古交市| 聂拉木县| 武宣县| 全南县| 嘉峪关市| 犍为县|