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