您好,我正在尝试按照本教程进行操作: 如何通过 USB 虚拟 com 端口将简单字符串传输到 PC。不幸的是,我的串口没有输出。
在调试期间,我发现
CDC_Transmit_FS()总是返回
USBD_BUSY,因为
hcdc->TxState永远不会变为零。此外,
hcdc->RxBuffer和
hcdc->TxBuffer 会抛出错误,指出无法访问特定地址的内存。

我尝试过的事情:-
1) 将堆和堆栈大小分别增加到 800 和 1200。
2) 将
USB_HS_MAX_PACKET_SIZE和
CDC_DATA_HS_MAX_PACKET_SIZE更改为 256。
3) 在
CDC_Transmit_FS() 之前添加更多延迟。
PS:我可以使用 MBed 在线编译器库(
Serial (USBTX, USBRX))通过 USB 发送和接收数据。
操作系统:Windows 10,串口监视器:CoolTerm,工具链:
STM32CubeIDE。