当多个CH348芯片同时接入电脑时,每块芯片虚拟出的8个串口都相同,这会导致难以区分和管理这些串口。为了解决这个问题,我们可以通过修改每个CH348芯片的Serial String字段,并在Qt上读取这个字段来唯一标识每个串口。
CH348芯片是一款常用的USB转串口芯片模块,USB转串口模块可以将USB信号转换为串行通信信号,使得计算机能够与各种串口设备进行通信。在某些应用场景中,我们需要在一台电脑上同时连接多个串口设备,这时就需要使用到CH348芯片的多串口功能。然而,当多个CH348芯片同时工作时,如何区分它们就成了一个问题。
1、假设我们在一台电脑上连接了多个CH348芯片,每个芯片都虚拟出了8个串口。但是每8个串口描述字符串是相同的,这就导致了一个问题:当需要与特定的串口设备进行通信时,很难确定应该选择哪个串口。如果通过系统枚举出来的串口号来区分是哪个串口是不可靠的,因为系统枚举是随机的,在同一台电脑上换一个USB口后枚举的串口号也会改变。
2、在QT环境中,读取串口的Vendor ID与Product ID是失败的,也无法通过读取其他信息来获得唯一标识。
为了解决这个问题,我们可以利用CH348芯片自带的上位机工具来修改其Serial String字段。这个字段是一个字符串,可以用来描述芯片的一些信息。我们可以在这个字段中写入一些唯一的标识符,比如设备的型号、序列号等。这样,当我们在Qt上位机程序中读取这个字段时,就可以根据这个标识符来确定是哪一块CH348芯片以及它所对应的虚拟串口。
首先,我们需要找到并打开CH348芯片的上位机工具与驱动等。这些资料可以通过官方网站或者相关资源下载(CH348资料下载)。打开资料下的USBMSER.exe软件,选择卡类型:USB转多串口(USB1.1/2.0),点击安装驱动,等待安装完成。
找到并打开CH348芯片的上位机工具。选择资料链接下的CH34xSerCfg.ZIP。
打开上位机工具后,我们会看到一个界面,其中列出了所有连接的CH348芯片及其对应的虚拟串口。
在上位机工具中,选择需要修改的CH348芯片,然后找到Serial String字段。我们将想要写入的信息(如设备的型号、序列号等)输入到这个字段中,勾选Serial String,并写入配置。
在Qt程序中,我们可以遍历所有的串口信息,调用QSerialPortInfo类下的serialNumber()方法,并检查返回的结果是否是我们之前设置的Serial String字段内容。如果找到了匹配的内容,我们就可以确定这个串口是由哪一块CH348芯片虚拟出来的。
通过利用CH348芯片自带的上位机工具来修改Serial String字段,并在Qt程序中读取这个字段,我们可以方便地确定某一块CH348芯片及其对应的虚拟串口。这种方法不仅可以解决多芯片环境下的设备识别问题,还可以提高系统的可维护性和可扩展性。当然,这种方法也有一定的局限性,比如可能会增加一些额外的工作量和风险。因此,在实际应用中需要根据具体情况权衡利弊。
今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多产品更多资料,感兴趣的小伙伴可以登录我们的亿佰特官网和企业公众号(微信号:cdebyte)进行了解,也可以直接拨打400电话咨询技术专员!
相关阅读:
7 X 24 销售服务热线
4000-330-990深圳办事处柯经理:18218726658 南京办事处葛经理:17626012283
成都总部销售经理:
秦 科(无线模块):18884314654 冯子恒(无线模块):18884314734
蔡友银(无线模块):13882211021 葛宇龙(通信设备):19138800613
胡兵(外贸销售经理):18584911141、 sales06@ebyte.com
业务邮箱:support@cdebyte.com 全国销售投诉电话:19934352316
地址:四川省成都市高新西区西区大道199号B5栋(前台座机:028-61543675)
©© 成都亿佰特电子科技有限公司【版权所有】 蜀ICP备13019384号