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-2021.10.win32_1.0.0.202111181127\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-2021.10.win32_1.0.0.202111181127\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-2021.10.win32_1.0.0.202111181127\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-2021.10.win32_1.0.0.202111181127\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调试工具跟踪数据收发

调试完成

  • 1
    点赞
  • 4
    收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_37052189

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值