當多個CH348芯片同時接入電腦時,每塊芯片虛擬出的8個串口都相同,這會導致難以區分和管理這些串口。為了解決這個問題,我們可以通過修改每個CH348芯片的Serial String字段,并在Qt上讀取這個字段來唯一標識每個串口。
一
背景知識
CH348是一款常用的USB轉串口芯片,它可以將USB信號轉換為串行通信信號,使得計算機能夠與各種串口設備進行通信。在某些應用場景中,我們需要在一臺電腦上同時連接多個串口設備,這時就需要使用到CH348芯片的多串口功能。然而,當多個CH348芯片同時工作時,如何區分它們就成了一個問題。
二
問題描述
1、假設我們在一臺電腦上連接了多個CH348芯片,每個芯片都虛擬出了8個串口。但是每8個串口描述字符串是相同的,這就導致了一個問題:當需要與特定的串口設備進行通信時,很難確定應該選擇哪個串口。如果通過系統枚舉出來的串口號來區分哪個串口是不可靠的,因為系統枚舉是隨機的,在同一臺電腦上換一個USB口后枚舉的串口號也會改變。
2、在QT環境中,讀取串口的Vendor ID與Product ID是失敗的,也無法通過讀取其他信息來獲得唯一標識。
三
解決方案
為了解決這個問題,我們可以利用CH348芯片自帶的上位機工具來修改其Serial String字段。這個字段是一個字符串,可以用來描述芯片的一些信息。我們可以在這個字段中寫入一些唯一的標識符,比如設備的型號、序列號等。這樣,當我們在Qt上位機程序中讀取這個字段時,就可以根據這個標識符來確定是哪一塊CH348芯片以及它所對應的虛擬串口。
四
實現方法
1.安裝CH348的驅動
首先,我們需要找到并打開CH348芯片的上位機工具與驅動等。這些資料可以通過官方網站或者相關資源下載(CH348資料下載)。打開資料下的USBMSER.exe軟件,選擇卡類型:USB轉多串口(USB1.1/2.0),點擊安裝驅動,等待安裝完成。
2.使用修改字段的上位機
找到并打開CH348芯片的上位機工具。選擇資料鏈接下的CH34xSerCfg.ZIP。
打開上位機工具后,我們會看到一個界面,其中列出了所有連接的CH348芯片及其對應的虛擬串口。
3.修改Serial String字段
在上位機工具中,選擇需要修改的CH348芯片,然后找到Serial String字段。我們將想要寫入的信息(如設備的型號、序列號等)輸入到這個字段中,勾選Serial String,并寫入配置。
4.在Qt中讀取Serial String字段
在Qt程序中,我們可以遍歷所有的串口信息,調用QSerialPortInfo類下的serialNumber()方法,并檢查返回的結果是否是我們之前設置的Serial String字段內容。如果找到了匹配的內容,我們就可以確定這個串口是由哪一塊CH348芯片虛擬出來的。
五
總結
通過利用CH348芯片自帶的上位機工具來修改Serial String字段,并在Qt程序中讀取這個字段,我們可以方便地確定某一塊CH348芯片及其對應的虛擬串口。這種方法不僅可以解決多芯片環境下的設備識別問題,還可以提高系統的可維護性和可擴展性。當然,這種方法也有一定的局限性,比如可能會增加一些額外的工作量和風險。因此,在實際應用中需要根據具體情況權衡利弊。
-
芯片
+關注
關注
456文章
51164瀏覽量
427199 -
串口
+關注
關注
14文章
1557瀏覽量
77033 -
上位機
+關注
關注
27文章
945瀏覽量
55002
發布評論請先 登錄
相關推薦
評論