STMicroelectronics Virtual COM Port 经验

采用 STM32CubeMX  配置虚拟串口,出现串口不能正确工作.

原因如下

执行 USBD_CDC_Init 时 

 hcdc = USBD_malloc(sizeof(USBD_CDC_HandleTypeDef)); 分配内存失败,hcdc=0;

 

 

问题根源:USBD_malloc 实际 调用 malloc , 见下图

 

解决问题有三个方案:

方案1: 在采用了RFREERTOS 的情况下,给FreeRTOS 分配足够的堆空间,然后用 FreeRTOS 的空间分配机制

           改变 #define USBD_malloc         malloc 为

                  #define USBD_malloc         pvPortMalloc

          改      #define USBD_free           free

                   #define USBD_free           vPortFree

方案2: 直接改堆空间 ,在文件 startup_stm32f407xx.s 中

将 Heap_size 改大就行

          

以上方案都其它问题,

方案3:一个比较好的方案是改为静态分配

取消释放

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STMicroelectronics Virtual COM Port (VCP)驱动程序是一种用于操作STMicroelectronics设备的驱动程序。使用该驱动程序,可以将STMicroelectronics设备模拟为一个虚拟串行端口,从而实现与计算机之间的数据传输。 要下载STMicroelectronics Virtual COM Port驱动程序,可以按以下步骤操作: 1. 打开STMicroelectronics的官方网站。在网站上,您可以找到关于驱动程序的详细信息和下载链接。 2. 页面上可能有一个“Support”或类似的选项。点击该选项,然后选择“Downloads”或“Drivers”(下载或驱动程序)。 3. 在驱动程序下载页面上,选择您的设备型号。如果无法确定设备型号,可以查看设备或相关文档的规格和标识。 4. 在找到您设备型号的页面上,会列出所有可用的驱动程序。找到STMicroelectronics Virtual COM Port驱动程序,并选择适合您操作系统和设备型号的版本。 5. 点击下载链接并保存驱动程序安装文件到您的计算机的适当位置。 6. 执行下载的安装程序。按照安装程序的指示,完成驱动程序的安装过程。 7. 在驱动程序安装完成后,您的计算机应该可以识别并使用STMicroelectronics设备模拟的虚拟串行端口。 总结起来,要下载STMicroelectronics Virtual COM Port驱动程序,需要访问官方网站,并根据设备型号和操作系统选择适当的驱动程序版本。下载完成后,按照安装程序的指示进行安装即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值