新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)USB設(shè)備登錄編輯器

單片機(jī)USB設(shè)備登錄編輯器

作者: 時(shí)間:2013-10-12 來(lái)源:網(wǎng)絡(luò) 收藏
在前幾章中,用戶已經(jīng)知道如何在設(shè)各管理器中看到所有已經(jīng)接上的設(shè)備的類型與格式。當(dāng)然,用戶也知道當(dāng)這些設(shè)各被拔離,再重新接上后,不用再重新安裝其驅(qū)動(dòng)程序。那么PC主機(jī)為什么知道其已安裝過(guò),且了解其驅(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\與HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\。而在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)用程序

 ?、谌缓笠缊D2所示,進(jìn)人USB的項(xiàng)目中,如箭頭指示的方式。

 ?、蹐D3顯示了除根集線(ROOT_HUB)外,也顯示了所有曾經(jīng)安裝過(guò)驅(qū)動(dòng)程序的設(shè)備的VID/PID碼。如圖中說(shuō)明了此PC主機(jī)已經(jīng)設(shè)各列舉了多少類型的USB外圍設(shè)備。而用戶是否發(fā)覺(jué)到每一個(gè)VID/PID碼都是不同的呢?

  這些不同的VID/PID碼即決定了哪些驅(qū)動(dòng)程序?qū)?huì)被加載。

  除非用戶已注冊(cè)的項(xiàng)目刪除掉,Windows都會(huì)記得哪些驅(qū)動(dòng)程序已加載過(guò),且此設(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)安裝過(guò)的各種VID/PID碼


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉