1樓:北極
題主要點專業的東西,那我就上點專業的東西吧:
求問滑鼠是如何做到一插USB就安裝驅動的?
因為USB滑鼠是Class Specific裝置,這種USB裝置的驅動大部分都是通用的,所以凡是Class Specific裝置,都可以用乙份驅動搞定,滑鼠以插上去就能用,是因為Windows預先內建了這個Class的驅動,當然,不是所有USB裝置都是Class Specific的,有很多都不是,比如USB無線網絡卡、USB轉串列埠,這些裝置就需要廠商提供驅動才行。
USB鍵盤和滑鼠都屬於HID Class,ClassID是03,SubClassID是01,其中鍵盤的ProtocolID是01,滑鼠的ProtocolID是02.
想知道有哪些USB Class以及技術規範,需要訪問以下位置獲得文件:
USB.org - USB Device Class Specifications
其中HID Class的:
USB.org - HID Tools
技術規範:
全英文。
如果Windows沒有內建USB HID的Class驅動,那麼鍵盤滑鼠接上去就不能用,必須另外裝驅動才行。
同樣的,也可以想辦法把Windows裡的USB HID驅動解除安裝,這樣鍵盤滑鼠也不能用了,在Linux裡也可以做類似的事情。
在嵌入式開發中,需要單獨做鍵盤滑鼠驅動是很常見的事情。
你想獲得USB的電路圖,恐怕有困難。
USB電路中要有十分穩定的晶振等,你自己設計電路很麻煩,一般來說裝置端的控制晶元都是批量生產做好的,很少有人單獨做,因為自己做電路的話,高頻訊號很難保證。
一般來說USB鍵盤、滑鼠都是把鍵位、移動資料放到乙個USB中斷傳輸裡(跟CPU中斷不是乙個概念),主機端採用polling的方式獲得裝置狀態。
電路層面上,一般都是乙個USB控制晶元搞定,滑鼠把狀態報給USB裝置端的控制晶元,然後剩下的都是控制晶元完成的,各個廠商的控制晶元略有不同,比如羅技的是CP5919AM,一般都是廠商量產的。
如果做開發,那麼一般是用OTG做模擬,但這個開發成本極高,需要學習OTG相關的文件:
USB.org - USB On-The-Go
當然了,一切的前提是要熟讀USB2.0基礎規範:
USB.org - USB 2.0 Documents
補充一下,如果題主要了解,裝置一插上就能用,需要學習Windows驅動開發;
如果題主要了解USB,需要學習USB規範;
這兩個是不同的東西。
常年日復一日堅持跑步是如何做到的
歡苦HH 我就是這樣的.今年33歲了.我每天都堅持很多事情.從25歲開始,我再也沒有熬夜,每天堅持在十點左右睡覺,一到那個點,再好看的電視都停下,我每天喝蜂蜜水,吃個蘋果.每天用防曬霜,每天倒立六分鐘,每週跑步兩次.我生完兩個孩子,但是人家說我象90後.真正能堅持的很少,但是想到自己的精神和身體狀態...
喜歡做飯的人,是如何做到日復一日,並從中得到快樂呢?
李楠 因為有好處 1 日常料理比外賣快 便宜 要點就是增加一桌子菜裡乾糧和蒸菜的比重 比如在煮好的飯裡拌炸花生公尺,蒸飯的同時蒸玉公尺 番薯 增加調味料的種類 胡椒,孜然,味精,蜂蜜 練習刀工 2 心儀料理比外邊好吃 我做出來的酥肉和反沙芋頭比外邊的好吃很多.3 做飯是一種休息 做飯轉移注意力 蔡南...
一些病原體是如何做到操控宿主行為的?
上大學不是上學 病毒把自己的DNA或是逆轉錄出的DNA,整合到宿主細胞的DNA中,再通過宿主細胞自身的基因表達來控制宿主細胞的行為。只知道這些。 切格瓦斯 鐵線蟲,成蟲在水中生活,而幼蟲寄宿在蟋蟀 螞蚱之類的節肢動物體內。幼蟲長大了,為了回到水裡生活 繁殖,會驅使宿主往水裡跳,宿主淹死在水裡,鐵線蟲...