使用STM32 CubeMX可以直接生成USB虚拟串口,但是目前CubeMX只支持生成一个CDC虚拟串口,如果要想实现多个CDC串口,需要自己修改代码实现,我记得PIC32单片机是可以直接生成多个虚拟串口的,很方便。但是在Windows8以后的系统中,只能安装注册过的驱动程序。在我的测试过程中,即便修改过程序代码之后,PC端(在Windows10下测试)仍然显示只有一个串口(至于如何修改代码,我后面会还讲),是STM32驱动不支持吗?还是我修改的不正确呢,很难分辨。今天给大家介绍一下,如何让系统识别,很简单,就是更新驱动。
打开
设备管理器
forum.jpg
只显示一个虚拟串口
在要更新的设备上点右键(此处为COM16),选更新驱动。在弹出界面上选择“更新驱动”
forum.jpg

再选择“浏览本地文件夹”
forum.jpg

这个时候弹出支持连接设备的驱动列表,我安装了两个版本的驱动。此处选择“USB复合设备”(
下位机
设置正确时会出现这个选项),确定后更新驱动。显示出下位机USB中所有的虚拟
串口
forum.jpg

forum.jpg

今天对三个虚拟串口进行了收发测试,全部成功。有时间我还会学一下MSC协协议,争取全部集成到一块,用起来就方便了。