stm32串口通信代码(STM32F103编程学习USB虚拟串口篇)
stm32串口通信代码(STM32F103编程学习USB虚拟串口篇)采用SWD模式选用J-LINK调试配置USB的描述参数配置USB的数据缓存大小3)上述参数配置完后,可以去配置具体生成工程的参数,本例子使用IAR工程,生成IAR工程后,将调试参数由ST-LINK改成J-LINK,并使用SWD模式。
题记:之前学习了STM32F103的许多基本外设操作,今天来学习USB通信的基本操作,并记录下学习的过程。工程配置步骤1)配置系统时钟,实现系统72MHz的频率,USB外设48MHz频率
系统时钟树配置
2)配置USB外设IO口和基本参数
选择使用USB IP为VCP模式
配置USB的描述参数
配置USB的数据缓存大小
3)上述参数配置完后,可以去配置具体生成工程的参数,本例子使用IAR工程,生成IAR工程后,将调试参数由ST-LINK改成J-LINK,并使用SWD模式。
选用J-LINK调试
采用SWD模式
添加用户代码上述配置好后,由于F103的USB重新连接枚举的DP需要外部控制上拉电阻,所以需要再额外添加一部分控制代码即可枚举成功。
初始化IO配置和枚举上拉检测IO初始化代码
枚举上拉检测控制代码
完成上述配置后,下载程序后,即可在电脑上枚举成功。其PID和VID的值正是之前使用MX CUBE软件配置的参数值。
虚拟出来的串口设备
添加发送和接收代码USB库中已经实现了数据的收发,只需直接使用,用户重点处理数据方面的应用即可。
主函数中发送数据
接收到的数据再发送回去
解决无法发送64字节整数倍的问题
结果虚拟串口监控的数据
从结果中可以看出串口可以实现数据的收发。第一次USB虚拟串口成功。