WinCE 5.0下鼠標鍵盤(pán)驅動(dòng)分析(上)
本文通過(guò)對WinCE 5.0下的鼠標鍵盤(pán)驅動(dòng)分析,對WinCE驅動(dòng)程序設計進(jìn)行了分析。歡迎大家對不對的地方指出。
硬件
寫(xiě)一個(gè)驅動(dòng)程序的第一件事就是讀硬件的規范文檔。所以首先必須了解硬件才能寫(xiě)好驅動(dòng)。鼠標和鍵盤(pán)現在已經(jīng)成為現代PC機上不可缺少的組成部分了。有興趣可以看下他們的發(fā)展歷史:
鼠標歷史推薦鏈接:http:/www.blogchina.com/new/source/200.html
鍵盤(pán)歷史推薦鏈接:http:/www.soft6.com/news/detail.asp?id=11662
硬件之鍵盤(pán)
目前現在大概有下面3類(lèi)鍵盤(pán):
l USB keyboard 被Macintosh 和IBM兼容機所支持的最新鍵盤(pán)。在WinCE下,這種設備(鍵盤(pán)和鼠標)屬于HID設備(Human Interface Device).由于涉及到USB驅動(dòng),所以在本文暫時(shí),準備在USB驅動(dòng)中詳細補充(其中的中斷處理算法和ps/2基本一致,只是接口上發(fā)生變化)。
l IBM/compatible keyboards 現代PC機支持的AT Keyboard 和PS/2 keyboard.。本文重點(diǎn)講解WinCE 5.0下PS/2鍵盤(pán)驅動(dòng)。
l ADB keyboards 老式的蘋(píng)果機上使用,本文不關(guān)注。
8042和8048
又有歷史來(lái)了,一開(kāi)始,IBM首先使用Intel 8048微控制器作為鍵盤(pán)的編碼器,使用Intel 8042微控制器作為鍵盤(pán)控制器。所以呢,現在這個(gè)標準都被大家所接受了?;旧湘I盤(pán)設備的控制器就這2種了。
其中,8048是鍵盤(pán)上的編碼器,8042是在主機上的鍵盤(pán)控制器(目前,基本上都已經(jīng)被集成到了芯片組里了)。位置就如下圖所示:
8042的工作模式
l 依賴(lài)于主板的不同鍵盤(pán)控制器可以工作于兩個(gè)模式之一AT 兼容模式或PS/2 兼容模式
l 如果主板支持PS/2 鼠標就工作在后一種模式下。在這種情況下8042 的作用是鍵盤(pán)控制器和鼠標控制器
l 鍵盤(pán)控制器根據鍵盤(pán)端口的連線(xiàn)情況自動(dòng)檢測它應該工作在何種模式下
PS/2鍵盤(pán)
l Scan code, Make Codes, Break Codes, and Typematic Repeat
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
linux相關(guān)文章:linux教程
評論