糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > STM32F103C6T6A USB虚拟串口调测 cubeIDE HAL库函数版一篇就够了

STM32F103C6T6A USB虚拟串口调测 cubeIDE HAL库函数版一篇就够了

时间:2022-08-03 08:17:33

相关推荐

STM32F103C6T6A USB虚拟串口调测 cubeIDE HAL库函数版一篇就够了

STM32F103C6T6A USB虚拟串口调测 cubeIDE HAL库函数版

原先手上有一块STM32F103RTC6测试版,但怎么弄不不出现usb设备(正常插上usb口pc应该会识别一个unknown device)看了下它的原理图,感觉D+的上拉电阻是接错位置了,所以果断换一块开发板试试。Usb线也要留意一下,一些usb线只有充电功能,没有通讯功能,一定要多换几条线试试

在某宝买了一块最便宜的STM32F103C6T6A最小系统版20块q。这个版没有usb下载口,usb只能做从设备,下载hex文件与调试需要一个ST-LINK V2的调试器也是20块q左右

本次调试使用软件版本:

感谢前人努力,请参考文章设置:

12_STM32Cubeide开发_USB从设备串口驱动程序_DDGGG1的博客-CSDN博客_cubeide usb

对错误进行修改

按着文章编辑完成然后编译,这时候你会发现大概率编译不通过,因为有几处需要修改的地方

1.接收和发送的相关协议修改配置

注:以下是在usbd_desc.c文件中修改这里写错了,是usbd_cdc_if.c

2.头文件中相关修改

注:以下是在usbd_desc.h文件中修改这里写错了,是usbd_cdc_if.h

再次编译又出现错误

d:\st\stm32cubeide_1.6.1\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-.10.win32_1.0.0.11181127\tools\arm-none-eabi\bin\ld.exe: F103C6T6A_usbserial.elf section `.text' will not fit in region `FLASH'

d:\st\stm32cubeide_1.6.1\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-.10.win32_1.0.0.11181127\tools\arm-none-eabi\bin\ld.exe: region `FLASH' overflowed by 4664 bytes

collect2.exe: error: ld returned 1 exit status

make: *** [makefile:71: F103C6T6A_usbserial.elf] Error 1

意思是编译出来的文件太大放不下flash,STM32F103C6T6A flash只有32kb,需要优化代码缩减文件尺寸

再次编译又提示RAM过小只有10kb,需要缩减ram

d:\st\stm32cubeide_1.6.1\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-.10.win32_1.0.0.11181127\tools\arm-none-eabi\bin\ld.exe: F103C6T6A_usbserial.elf section `._user_heap_stack' will not fit in region `RAM'

d:\st\stm32cubeide_1.6.1\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.10.3-.10.win32_1.0.0.11181127\tools\arm-none-eabi\bin\ld.exe: region `RAM' overflowed by 3208 bytes

collect2.exe: error: ld returned 1 exit status

make: *** [makefile:71: F103C6T6A_usbserial.elf] Error 1

因为出于调试目的,发送的包不是很大,缩减也没有什么影响,如果日后用于生产请自行斟酌以免影响程序运行的稳定性

修改之后编译一切顺利,下载到开发板运行。

插上usb线出现提示发现新硬件,但无法安装驱动,STMicroelectronics Virtual COM 前面有黄色感叹号

请自行到st官网上下载usb虚拟串口驱动程序:

STSW-STM32102 - STM32虚拟COM端口驱动程序 - STMicroelectronics

安装VCP_V1.5.0_Setup,如果之前安装过旧版本比如VCP_V1.4.0_Setup,需要先卸载旧版再安装新版本。我的VCP_V1.4.0_Setup这个版本无法识别,你的能识别就不用更新驱动

使用串口调试工具连接usb虚拟串口,发送数据

Usb调试工具跟踪数据收发

调试完成

如果觉得《STM32F103C6T6A USB虚拟串口调测 cubeIDE HAL库函数版一篇就够了》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。