因為從事的測試領域涉及到很多嵌入式的產品,所以經常需要用串列埠去控制裝置,目前最多的是usb轉串列埠的方式,但是串列埠名隨著插入的usb口會發生變化,每次用時需要到裝置管理器中查詢,給程式化的測試工作帶來諸多不便。過去我們設計測試service的時候,這些串列埠資訊是通過配置檔案的形式儲存的。近日做乙個service查閱msdn時,發現其實微軟已經提供了相關的介面可以自動檢索並匹配到需要的串列埠。
命名空間: system.management (這個不是預設載入的,需要在reference裡手工載入)
class: managementobjectsearcher, 可以特定的查詢條件來檢索管理的資源。
使用方式如:
objectquery q = new objectquery("select* from win32_pnpentity");
managementobjectsearcher s = new managementobjectsearcher(q);
foreach (managementobjectservicein s.get())
備註:
win32_pnpentity 是乙個管理熱插拔裝置的類,查詢條件比如可以用名字來縮小範圍,如:
select * from win32_pnpentity where name like 'prolificusb-to-serial comm port (com%)'。
上述的是usb轉串列埠,也可以查詢其他的裝置。
關於串列埠和usb轉串列埠
硬體上考慮,串列埠還是要隔離,否則引發的風險是產品不能承受的,現在市場上的max232,質量沒有什麼保證,有過一批勉強用了一年多,還是有些出了問題。usb轉出來的串列埠一樣也要隔離,而且需要注意的是usb是很容易受到干擾的,市場上還是沒有usb端短,串列埠線長的轉換器件,需要可靠性的客戶還是推薦使用...
centos使用USB轉串列埠
我使用的是centos6.5,預設是沒有載入usb轉串列埠模組 1.載入usb轉串列埠模組 modprobe pl2303 2.檢視載入是否成功 lsmod grep pl2303 輸出如下表示載入模組成功 pl2303 16928 0 usbserial 37692 2 pl2303,ftdi s...
usb轉串列埠最初思路
要做arm板上擴充套件出8個串列埠 初步思路 一 利用uart擴充套件8個串列埠,或spi擴充套件出8個串列埠 arm板上提供的uart,只有2個 但是由於raspi提供的引腳限制,只能用乙個 因此要擴充套件8個串列埠,要麼是用uart擴充套件出8個串列埠,該方法下,查出有uart擴充套件5個串列埠...