这里记录一下用STM32Cumebx实现USB虚拟串口的过程,以F072为例大家可以一起学习讨论一下。
1.新建工程
这里选择SW烧录调试,看个人习惯,如果不习惯用SW的你们可以换其他的也行。
我这里因为直接使用MCU的内部时钟就没有勾选RCC了,然后直接配置时钟树,具体如下:
USB必须是48MHz
最后一点比较重要点的就是要配置USB堆的大小,把它改大一点,不然容易出现电脑实现出现黄色感叹号情况,这里选的编译软件是MDK-ARM。
最后编译生成代码
2.用keil打开工程编辑
找到usb_cdc_if.c文件,在文件开始处添加接收USB转串口数据的buff(uint_8 usbRxBuff[1000])和接收数据长度(int usbRxLen=0);然后添加下图中框出来的代码即可
3.编译程序烧录验证
用串口助手看可以看到已经可以识别出来了,发送数据下去也可以准确接收并且返回,结果如下图示
注意:USB虚拟串口对波特率,校验位,数据位,停止位没有要求,你用串口助手不管使用什么样的方式来通信,都可以正常收发。
usb虚拟串口每次接收最大的数据包ReceivePacket是64个字节
Talk is cheap, show me the code