單片機(jī)USB設(shè)備登錄編輯器
發(fā)布時(shí)間:2008/12/17 0:00:00 訪問次數(shù):801
在前幾章中,用戶已經(jīng)知道如何在設(shè)各管理器中看到所有已經(jīng)接上的usb設(shè)備的類型與格式。當(dāng)然,用戶也知道當(dāng)這些設(shè)各被拔離,再重新接上后,不用再重新安裝其驅(qū)動(dòng)程序。那么pc主機(jī)為什么知道其已安裝過,且了解其驅(qū)動(dòng)程序是什么呢?
這個(gè)答案是因?yàn)檫@些設(shè)各已經(jīng)完成了設(shè)各列舉的步驟,pc主機(jī)已經(jīng)知道其vid/pid碼,且能依此找到相對(duì)的驅(qū)動(dòng)程序,并已下載完畢。這個(gè)vid/pid碼即放在設(shè)各所含有的設(shè)各描述符中。也稱為操作系統(tǒng)中的機(jī)碼。
在windows 98與windows me操作系統(tǒng)中,這些vid/pid碼放置于hkey_local_machine\enum\usb與hkey_local_machine\system\currentcontrolset\services\class\usb。而在windows xp或2000的操作系統(tǒng)下,放的位置則為:hkey_local_machine\system\currentcontrolset\enum\usb。 因此,可以稍微做個(gè)區(qū)分,在windows 98與windows me以及windows xp與2000的操作系統(tǒng)版本對(duì)登錄編輯器的處理方式是有若干不同的。
至于如何去查詢這些vid/pid碼呢?可由下列的步驟來(lái)取得(請(qǐng)?jiān)趙indows 98與windows me的操作系統(tǒng)下操作)。
、偃鐖D1所示,執(zhí)行windows應(yīng)用程序“執(zhí)行”,并輸入regedit.exe命令或在windows的目錄下,直接執(zhí)行regedit.exe執(zhí)行文件,進(jìn)人“登錄編輯器”窗口。
圖1 執(zhí)行登錄編輯器的應(yīng)用程序
②然后依圖2所示,進(jìn)人usb的項(xiàng)目中,如箭頭指示的方式。
、蹐D3顯示了除根集線(root_hub)外,也顯示了所有曾經(jīng)安裝過驅(qū)動(dòng)程序的設(shè)備的vid/pid碼。如圖中說(shuō)明了此pc主機(jī)已經(jīng)設(shè)各列舉了多少類型的usb外圍設(shè)備。而用戶是否發(fā)覺到每一個(gè)vid/pid碼都是不同的呢?
這些不同的vid/pid碼即決定了哪些驅(qū)動(dòng)程序?qū)?huì)被加載。
除非用戶已注冊(cè)的項(xiàng)目刪除掉,windows都會(huì)記得哪些驅(qū)動(dòng)程序已加載過,且此設(shè)備再一次插人pc時(shí),就不會(huì)再檢測(cè)到有新的設(shè)備插入。也就是說(shuō),不論用戶插拔這些外圍設(shè)備多少次,都無(wú)須再重新安裝其驅(qū)動(dòng)程序了。
而每一個(gè)設(shè)備中,如圖4所示,顯示了一些相關(guān)的信息。
若要達(dá)到與完成這種登錄的工作,用戶就必須在設(shè)各一接上pc主機(jī)時(shí),執(zhí)行設(shè)備列舉的工作。換句話說(shuō),當(dāng)usb設(shè)各第一次連接到usb總線時(shí),usb主機(jī)就會(huì)對(duì)此設(shè)各做出列舉檢測(cè)的動(dòng)作。此時(shí),主機(jī)會(huì)負(fù)責(zé)檢測(cè)與設(shè)置所有連接至根集線器的設(shè)備,而識(shí)別與設(shè)置一個(gè)usb外圍設(shè)各的程序,稱之為設(shè)備列舉,也就是將所有的外圍設(shè)備一一識(shí)別并列舉出來(lái)。
圖2 “登錄編輯器”窗口
圖3 在pc主機(jī)下曾經(jīng)安裝過的各種vid/pid碼
圖4 每一個(gè)vid/pid碼中所列出此設(shè)備的相關(guān)信息
若以u(píng)sb通信協(xié)議的觀點(diǎn)來(lái)看,設(shè)備列舉是通過一連串介于主機(jī)與設(shè)備之間的控制傳輸來(lái)辨識(shí)與設(shè)置一個(gè)剛接上的usb設(shè)各程序。而進(jìn)一步地解釋設(shè)各列舉,也即是操作系統(tǒng)可以辨識(shí)一個(gè)新的硬件設(shè)備連接上總線,以及決定其特定的需求。此時(shí),將會(huì)加載適當(dāng)?shù)尿?qū)動(dòng)程序,并且給予新的硬件設(shè)備一個(gè)新的地址。每當(dāng)甩戶重新插拔設(shè)各或重新激活windows時(shí),就會(huì)再一次地執(zhí)行設(shè)各列舉的步驟。
用戶可以做個(gè)小實(shí)驗(yàn),試著刪減某個(gè)已經(jīng)列舉過的usb外圍設(shè)各,然后再插拔看看。此時(shí),用戶會(huì)發(fā)現(xiàn)pc主機(jī)將會(huì)發(fā)現(xiàn)一個(gè)新硬件插入,并會(huì)要求請(qǐng)?zhí)峁┢潋?qū)動(dòng)程序,用來(lái)重新安裝新的驅(qū)動(dòng)程序。也就是說(shuō),pc主機(jī)重新對(duì)此usb設(shè)各執(zhí)行設(shè)備列舉的步驟。在此,切勿刪除根集線器或其驅(qū)動(dòng)程序無(wú)法再取得的設(shè)各。
當(dāng)然,如果說(shuō)在驅(qū)動(dòng)程序的安裝過程中,出了問題或要?jiǎng)h除某個(gè)usb設(shè)備,光是在設(shè)備管理器底下執(zhí)行刪除的動(dòng)作是不夠的。也就是說(shuō)用戶須在登錄編輯器中,將已注冊(cè)的usb外圍設(shè)各的項(xiàng)目刪除掉,才可達(dá)到完全刪除的目的。
但在此須跟用戶再次說(shuō)明的是,以上的操作方式僅限于windows 98與me操作系統(tǒng)版本,在windows 2000與xp的環(huán)境下,是有所不同的。在這兩種的操作環(huán)境下,不能在登錄編輯器中任意地刪除設(shè)備的vid/pid碼。若要?jiǎng)h除這個(gè)設(shè)備,它會(huì)發(fā)生一個(gè)警告信息,如圖5所示。
那么到底如何才能刪除這個(gè)設(shè)各呢?用戶只能在設(shè)各管理器中,以右擊所要?jiǎng)h除的項(xiàng)目,然后在所彈出的選單中,選擇“刪除安裝”的功能,才能達(dá)到刪除設(shè)各功能的目的,如圖6所示。
圖5 在windows 2000與xp下,刪除vid/pid碼所產(chǎn)生錯(cuò)誤的畫面
在前幾章中,用戶已經(jīng)知道如何在設(shè)各管理器中看到所有已經(jīng)接上的usb設(shè)備的類型與格式。當(dāng)然,用戶也知道當(dāng)這些設(shè)各被拔離,再重新接上后,不用再重新安裝其驅(qū)動(dòng)程序。那么pc主機(jī)為什么知道其已安裝過,且了解其驅(qū)動(dòng)程序是什么呢?
這個(gè)答案是因?yàn)檫@些設(shè)各已經(jīng)完成了設(shè)各列舉的步驟,pc主機(jī)已經(jīng)知道其vid/pid碼,且能依此找到相對(duì)的驅(qū)動(dòng)程序,并已下載完畢。這個(gè)vid/pid碼即放在設(shè)各所含有的設(shè)各描述符中。也稱為操作系統(tǒng)中的機(jī)碼。
在windows 98與windows me操作系統(tǒng)中,這些vid/pid碼放置于hkey_local_machine\enum\usb與hkey_local_machine\system\currentcontrolset\services\class\usb。而在windows xp或2000的操作系統(tǒng)下,放的位置則為:hkey_local_machine\system\currentcontrolset\enum\usb。 因此,可以稍微做個(gè)區(qū)分,在windows 98與windows me以及windows xp與2000的操作系統(tǒng)版本對(duì)登錄編輯器的處理方式是有若干不同的。
至于如何去查詢這些vid/pid碼呢?可由下列的步驟來(lái)取得(請(qǐng)?jiān)趙indows 98與windows me的操作系統(tǒng)下操作)。
①如圖1所示,執(zhí)行windows應(yīng)用程序“執(zhí)行”,并輸入regedit.exe命令或在windows的目錄下,直接執(zhí)行regedit.exe執(zhí)行文件,進(jìn)人“登錄編輯器”窗口。
圖1 執(zhí)行登錄編輯器的應(yīng)用程序
、谌缓笠缊D2所示,進(jìn)人usb的項(xiàng)目中,如箭頭指示的方式。
、蹐D3顯示了除根集線(root_hub)外,也顯示了所有曾經(jīng)安裝過驅(qū)動(dòng)程序的設(shè)備的vid/pid碼。如圖中說(shuō)明了此pc主機(jī)已經(jīng)設(shè)各列舉了多少類型的usb外圍設(shè)備。而用戶是否發(fā)覺到每一個(gè)vid/pid碼都是不同的呢?
這些不同的vid/pid碼即決定了哪些驅(qū)動(dòng)程序?qū)?huì)被加載。
除非用戶已注冊(cè)的項(xiàng)目刪除掉,windows都會(huì)記得哪些驅(qū)動(dòng)程序已加載過,且此設(shè)備再一次插人pc時(shí),就不會(huì)再檢測(cè)到有新的設(shè)備插入。也就是說(shuō),不論用戶插拔這些外圍設(shè)備多少次,都無(wú)須再重新安裝其驅(qū)動(dòng)程序了。
而每一個(gè)設(shè)備中,如圖4所示,顯示了一些相關(guān)的信息。
若要達(dá)到與完成這種登錄的工作,用戶就必須在設(shè)各一接上pc主機(jī)時(shí),執(zhí)行設(shè)備列舉的工作。換句話說(shuō),當(dāng)usb設(shè)各第一次連接到usb總線時(shí),usb主機(jī)就會(huì)對(duì)此設(shè)各做出列舉檢測(cè)的動(dòng)作。此時(shí),主機(jī)會(huì)負(fù)責(zé)檢測(cè)與設(shè)置所有連接至根集線器的設(shè)備,而識(shí)別與設(shè)置一個(gè)usb外圍設(shè)各的程序,稱之為設(shè)備列舉,也就是將所有的外圍設(shè)備一一識(shí)別并列舉出來(lái)。
圖2 “登錄編輯器”窗口
圖3 在pc主機(jī)下曾經(jīng)安裝過的各種vid/pid碼
圖4 每一個(gè)vid/pid碼中所列出此設(shè)備的相關(guān)信息
若以u(píng)sb通信協(xié)議的觀點(diǎn)來(lái)看,設(shè)備列舉是通過一連串介于主機(jī)與設(shè)備之間的控制傳輸來(lái)辨識(shí)與設(shè)置一個(gè)剛接上的usb設(shè)各程序。而進(jìn)一步地解釋設(shè)各列舉,也即是操作系統(tǒng)可以辨識(shí)一個(gè)新的硬件設(shè)備連接上總線,以及決定其特定的需求。此時(shí),將會(huì)加載適當(dāng)?shù)尿?qū)動(dòng)程序,并且給予新的硬件設(shè)備一個(gè)新的地址。每當(dāng)甩戶重新插拔設(shè)各或重新激活windows時(shí),就會(huì)再一次地執(zhí)行設(shè)各列舉的步驟。
用戶可以做個(gè)小實(shí)驗(yàn),試著刪減某個(gè)已經(jīng)列舉過的usb外圍設(shè)各,然后再插拔看看。此時(shí),用戶會(huì)發(fā)現(xiàn)pc主機(jī)將會(huì)發(fā)現(xiàn)一個(gè)新硬件插入,并會(huì)要求請(qǐng)?zhí)峁┢潋?qū)動(dòng)程序,用來(lái)重新安裝新的驅(qū)動(dòng)程序。也就是說(shuō),pc主機(jī)重新對(duì)此usb設(shè)各執(zhí)行設(shè)備列舉的步驟。在此,切勿刪除根集線器或其驅(qū)動(dòng)程序無(wú)法再取得的設(shè)各。
當(dāng)然,如果說(shuō)在驅(qū)動(dòng)程序的安裝過程中,出了問題或要?jiǎng)h除某個(gè)usb設(shè)備,光是在設(shè)備管理器底下執(zhí)行刪除的動(dòng)作是不夠的。也就是說(shuō)用戶須在登錄編輯器中,將已注冊(cè)的usb外圍設(shè)各的項(xiàng)目刪除掉,才可達(dá)到完全刪除的目的。
但在此須跟用戶再次說(shuō)明的是,以上的操作方式僅限于windows 98與me操作系統(tǒng)版本,在windows 2000與xp的環(huán)境下,是有所不同的。在這兩種的操作環(huán)境下,不能在登錄編輯器中任意地刪除設(shè)備的vid/pid碼。若要?jiǎng)h除這個(gè)設(shè)備,它會(huì)發(fā)生一個(gè)警告信息,如圖5所示。
那么到底如何才能刪除這個(gè)設(shè)各呢?用戶只能在設(shè)各管理器中,以右擊所要?jiǎng)h除的項(xiàng)目,然后在所彈出的選單中,選擇“刪除安裝”的功能,才能達(dá)到刪除設(shè)各功能的目的,如圖6所示。
圖5 在windows 2000與xp下,刪除vid/pid碼所產(chǎn)生錯(cuò)誤的畫面
上一篇:非均勻采樣的理論基礎(chǔ)
熱門點(diǎn)擊
- 單片機(jī)USB設(shè)備登錄編輯器
- 單片機(jī)端點(diǎn)描述符
- 單片機(jī)設(shè)備描述符
- 單片機(jī)USB描述符
- 單片機(jī)配置描述符
- 單片機(jī)接口描述符
- 單片機(jī)兼容USB2.0規(guī)范的描述符
- 單片機(jī)設(shè)備列舉的步驟
- 單片機(jī)的群組與報(bào)告描述符
推薦技術(shù)資料
- 硬盤式MP3播放器終級(jí)改
- 一次偶然的機(jī)會(huì)我結(jié)識(shí)了NE0 2511,那是一個(gè)遠(yuǎn)方的... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究