單片機USB設(shè)備登錄編輯器
這個答案是因為這些設(shè)各已經(jīng)完成了設(shè)各列舉的步驟,PC主機已經(jīng)知道其VID/PID碼,且能依此找到相對的驅(qū)動程序,并已下載完畢。這個VID/PiD碼即放在設(shè)各所含有的設(shè)各描述符中。也稱為操作系統(tǒng)中的機碼。
在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。 因此,可以稍微做個區(qū)分,在Windows 98與Windows ME以及Windows XP與2000的操作系統(tǒng)版本對登錄編輯器的處理方式是有若干不同的。
至于如何去查詢這些VID/PID碼呢?可由下列的步驟來取得(請在Windows 98與Windows ME的操作系統(tǒng)下操作)。
?、偃鐖D1所示,執(zhí)行Windows應(yīng)用程序“執(zhí)行”,并輸入regedit.exe命令或在Windows的目錄下,直接執(zhí)行regedit.exe執(zhí)行文件,進人“登錄編輯器”窗口。
圖1 執(zhí)行登錄編輯器的應(yīng)用程序
?、谌缓笠缊D2所示,進人USB的項目中,如箭頭指示的方式。
?、蹐D3顯示了除根集線(ROOT_HUB)外,也顯示了所有曾經(jīng)安裝過驅(qū)動程序的設(shè)備的VID/PID碼。如圖中說明了此PC主機已經(jīng)設(shè)各列舉了多少類型的USB外圍設(shè)備。而用戶是否發(fā)覺到每一個VID/PID碼都是不同的呢?
這些不同的VID/PID碼即決定了哪些驅(qū)動程序?qū)患虞d。
除非用戶已注冊的項目刪除掉,Windows都會記得哪些驅(qū)動程序已加載過,且此設(shè)備再一次插人PC時,就不會再檢測到有新的設(shè)備插入。也就是說,不論用戶插拔這些外圍設(shè)備多少次,都無須再重新安裝其驅(qū)動程序了。
而每一個設(shè)備中,如圖4所示,顯示了一些相關(guān)的信息。
若要達到與完成這種登錄的工作,用戶就必須在設(shè)各一接上PC主機時,執(zhí)行設(shè)備列舉的工作。換句話說,當USB設(shè)各第一次連接到USB總線時,USB主機就會對此設(shè)各做出列舉檢測的動作。此時,主機會負責檢測與設(shè)置所有連接至根集線器的設(shè)備,而識別與設(shè)置一個USB外圍設(shè)各的程序,稱之為設(shè)備列舉,也就是將所有的外圍設(shè)備一一識別并列舉出來。
圖2 “登錄編輯器”窗口
圖3 在PC主機下曾經(jīng)安裝過的各種VID/PID碼
評論