hello、C 发表于 2022-3-26 21:59

【AT-START-F425测评】+ (2)virtual_comport 测试

本帖最后由 hello、C 于 2022-3-26 22:06 编辑

功能描述:将 USB device 虚拟为 Com Port.利用 USB 虚拟串口 来接收上位机指令或者发送一些设备信息。
在路径下:AT32F425_Firmware_Library_CN\project\at_start_f425\examples\usb_device\virtual_comport
打开 Keil Pro, 查看 readme, 如下:

详情说明:利用 USB 虚拟串口将收到的数据,利用 USART2 的 TX 端口发送出去,将 USART2 的 RX 端口接收到的数
据信息利用 USB 虚拟串口转发至上位机。
查看其源码,其使用了 USB Device Driver 和 CDC Class.




可以参考:

USB2.0 :
CDC1.1:

将 Keil 工程编译链接后,将程序烧写到单片机后,会发现在电脑的设备管理器中,多了一个串口的 COM 口。
将板载的 USART2 的 复用端口 PA2 PA3 短接,利用串口调试工具,发现向其发送数据后,但并未收到。开始
感觉到奇怪,拾起勇气转入调试模式测试看看。发现 USB 串口确实虚拟成功了,然后向虚拟串口发送数据,
发现虚拟串口确实接收到了,也转发了其相应大小的数据,如图所示:

接收为空:


USB 虚拟串口接收了数据:



USB 虚拟串口接收到了同样的长度:



啊,十分的诡异及匪夷所思,怎么会没发出去呢?
带着怀疑的态度,来到了 USART2 的初始化代码,如图所示:



再次查阅并确定了 F425 的 USART2 端口复用表,使用了错误的端口复用功能,如图所示:



修改 USART2 的端口复用配置代码后,如图所示:



重新编译链接并下载程序到目标板上,连上串口工具进行了调试,如图所示:



USB虚拟串口已成功收到串口调试助手发送的数据,并将其转发,Very Nice.

如需了解串口虚拟详情,可以后面在讨论!!!到此 USB 设备的上行下行工具已准备到位!!!


hello、C 发表于 2022-3-27 09:59

自己支持一下.....

ArterySW 发表于 2022-3-28 14:55

感谢反馈问题,下次进版修正~~

ArterySW 发表于 2022-3-28 14:57

hello、C 发表于 2022-3-27 09:59
自己支持一下.....

感谢反馈问题,下次进版修正~~

sparrow054 发表于 2022-4-1 14:44

这~感谢分享,解决问题的方法很棒
页: [1]
查看完整版本: 【AT-START-F425测评】+ (2)virtual_comport 测试