我正在使用STM32F401RBT6的嵌入式应用程序,试图与PC(Windows 10)建立连接,但系统无法识别该设备。我由STMCubeMX生成并由Atollic调试的代码不起作用。我看到并尝试重现了几个示例,但是一切正常。在代码中,我拥有我认为必要的所有库。

c - STM32F4的USB CDC设置和库出现问题-LMLPHP
c - STM32F4的USB CDC设置和库出现问题-LMLPHP

我有STMCubeMXCDC通讯生成的存档,但是我是新手,我不知道我必须对USB代码进行什么修改才能被系统识别。有人可以帮我吗?

最佳答案

USBD_CDC_Init(..)函数内部有一个malloc函数,该函数在堆上分配大约540字节的内存。

生成代码时,CubeMX没有考虑到这一点。

因此,至少必须考虑这些额外的字节来定义堆大小,才能使USB CDC端口正常工作。

关于c - STM32F4的USB CDC设置和库出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58341350/

10-12 16:14