在QT环境下使用CH348芯片进行设备识别与管理

描述

当多个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芯片及其对应的虚拟串口。这种方法不仅可以解决多芯片环境下的设备识别问题,还可以提高系统的可维护性和可扩展性。当然,这种方法也有一定的局限性,比如可能会增加一些额外的工作量和风险。因此,在实际应用中需要根据具体情况权衡利弊。

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分