當多個CH348芯片同時接入電腦時,每塊芯片虛擬出的8個串口都相同,這會導(dǎo)致難以區(qū)分和管理這些串口。為了解決這個問題,我們可以通過修改每個CH348芯片的Serial String字段,并在Qt上讀取這個字段來唯一標識每個串口。
CH348芯片是一款常用的USB轉(zhuǎn)串口芯片模塊,USB轉(zhuǎn)串口模塊可以將USB信號轉(zhuǎn)換為串行通信信號,使得計算機能夠與各種串口設(shè)備進行通信。在某些應(yīng)用場景中,我們需要在一臺電腦上同時連接多個串口設(shè)備,這時就需要使用到CH348芯片的多串口功能。然而,當多個CH348芯片同時工作時,如何區(qū)分它們就成了一個問題。
1、假設(shè)我們在一臺電腦上連接了多個CH348芯片,每個芯片都虛擬出了8個串口。但是每8個串口描述字符串是相同的,這就導(dǎo)致了一個問題:當需要與特定的串口設(shè)備進行通信時,很難確定應(yīng)該選擇哪個串口。如果通過系統(tǒng)枚舉出來的串口號來區(qū)分是哪個串口是不可靠的,因為系統(tǒng)枚舉是隨機的,在同一臺電腦上換一個USB口后枚舉的串口號也會改變。
2、在QT環(huán)境中,讀取串口的Vendor ID與Product ID是失敗的,也無法通過讀取其他信息來獲得唯一標識。
為了解決這個問題,我們可以利用CH348芯片自帶的上位機工具來修改其Serial String字段。這個字段是一個字符串,可以用來描述芯片的一些信息。我們可以在這個字段中寫入一些唯一的標識符,比如設(shè)備的型號、序列號等。這樣,當我們在Qt上位機程序中讀取這個字段時,就可以根據(jù)這個標識符來確定是哪一塊CH348芯片以及它所對應(yīng)的虛擬串口。
首先,我們需要找到并打開CH348芯片的上位機工具與驅(qū)動等。這些資料可以通過官方網(wǎng)站或者相關(guān)資源下載(CH348資料下載)。打開資料下的USBMSER.exe軟件,選擇卡類型:USB轉(zhuǎn)多串口(USB1.1/2.0),點擊安裝驅(qū)動,等待安裝完成。
找到并打開CH348芯片的上位機工具。選擇資料鏈接下的CH34xSerCfg.ZIP。
打開上位機工具后,我們會看到一個界面,其中列出了所有連接的CH348芯片及其對應(yīng)的虛擬串口。
在上位機工具中,選擇需要修改的CH348芯片,然后找到Serial String字段。我們將想要寫入的信息(如設(shè)備的型號、序列號等)輸入到這個字段中,勾選Serial String,并寫入配置。
在Qt程序中,我們可以遍歷所有的串口信息,調(diào)用QSerialPortInfo類下的serialNumber()方法,并檢查返回的結(jié)果是否是我們之前設(shè)置的Serial String字段內(nèi)容。如果找到了匹配的內(nèi)容,我們就可以確定這個串口是由哪一塊CH348芯片虛擬出來的。
通過利用CH348芯片自帶的上位機工具來修改Serial String字段,并在Qt程序中讀取這個字段,我們可以方便地確定某一塊CH348芯片及其對應(yīng)的虛擬串口。這種方法不僅可以解決多芯片環(huán)境下的設(shè)備識別問題,還可以提高系統(tǒng)的可維護性和可擴展性。當然,這種方法也有一定的局限性,比如可能會增加一些額外的工作量和風險。因此,在實際應(yīng)用中需要根據(jù)具體情況權(quán)衡利弊。
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(微信號:cdebyte)進行了解,也可以直接撥打400電話咨詢技術(shù)專員!
相關(guān)閱讀:
1、E810-R系列RS485集線器的快速應(yīng)用教程
2、淺析各類USB技術(shù)協(xié)議和新的USB4.0接口優(yōu)缺點
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 杭州辦事處戴經(jīng)理:17512568697
常州辦事處崔經(jīng)理:15906110783 南京辦事處葛經(jīng)理:17626012283
業(yè)務(wù)郵箱:support@cdebyte.com
全國銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號B5棟(前臺座機:028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號-3