当前位置: 首页 > news >正文

做最好的网站广州市建筑业联合会

做最好的网站,广州市建筑业联合会,c 做的网站,语文建设 官方网站文章目录 一、前言二、STM32CubeMX生成代码2.1 选择芯片2.2 配置相关模式2.3 设置时钟频率2.4 生成代码2.5 编译并下载代码2.6 结果2.7 问题 三、回环测试3.1 打开工程3.2 添加回环代码3.3 编译烧录并测试 四、出现问题和解决方法4.1 烧录总是要自己插拔USB4.2 自己生成的工程没…

文章目录

  • 一、前言
  • 二、STM32CubeMX生成代码
    • 2.1 选择芯片
    • 2.2 配置相关模式
    • 2.3 设置时钟频率
    • 2.4 生成代码
    • 2.5 编译并下载代码
    • 2.6 结果
    • 2.7 问题
  • 三、回环测试
    • 3.1 打开工程
    • 3.2 添加回环代码
    • 3.3 编译烧录并测试
  • 四、出现问题和解决方法
    • 4.1 烧录总是要自己插拔USB
    • 4.2 自己生成的工程没有测试成功

一、前言

最近在学习STM32的USB功能,主要是想要使用虚拟串口(VCP)功能,来解决串口传输速率较低的问题,达到于上位机高效通信的目的。
使用芯片:STM32F407ZGT6
使用函数:HAL库
使用工具:STM32CubeMX + Keil uVision5
串口工具:VOFA

二、STM32CubeMX生成代码

2.1 选择芯片

在这里插入图片描述
在这里插入图片描述

2.2 配置相关模式

主要配置内容:

  • 调试模式为Serial;
  • 使用外部时钟
  • 设置为USB为从设备
  • 配置为CDC模式的VCP
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.3 设置时钟频率

在这里插入图片描述

有两个需要注意点:
1. 左边的这个数值是你自己板子上的外部晶振的频率,具体是多少看你的板子或者去问商家。
2. 最终的频率要设置为48MHz。

在这里插入图片描述
然后要注意软件在自动选择晶振频率的时候有没有设置为外部晶振,如下图的提示。里面具体一些倍率选择要自己调一调,反正最后是48MHz就可以了。

在这里插入图片描述

2.4 生成代码

自己给工程命名然后选择打开的编译器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5 编译并下载代码

编译一下工程,然后下载到板子上面去。

在这里插入图片描述

2.6 结果

在弹出的弹窗看到下面的提示或者在设备管理器中查看到下面的设备就说明成功了
在这里插入图片描述
在这里插入图片描述

2.7 问题

烧录之后弹窗说识别不了USB设备或者在设备管理器没看到多出来的串口
解决方法:

  1. 重新插拔USB设备
  2. 检查晶振(外部晶振、主晶振、和USB晶振,具体看2.3的提示)是否正确
  3. 可能USB的引脚没有上拉电阻(猜想,具体不清楚)

三、回环测试

如果没有上面的问题,那恭喜你,可以继续往下测试VCP功能了。

3.1 打开工程

在这里插入图片描述

3.2 添加回环代码

"usbd_cdc_if.h"中找到函数CDC_Receive_FS(),在里面添加下面的代码:

CDC_Transmit_FS(Buf, *Len);

最终整个函数的代码如下:

static int8_t CDC_Receive_FS(uint8_t* Buf, uint32_t *Len)
{/* USER CODE BEGIN 6 */USBD_CDC_SetRxBuffer(&hUsbDeviceFS, &Buf[0]);USBD_CDC_ReceivePacket(&hUsbDeviceFS);CDC_Transmit_FS(Buf, *Len);return (USBD_OK);/* USER CODE END 6 */
}

3.3 编译烧录并测试

打开串口工具,然后选择你的串口号,发送任意字符,就可以看到回传了你发送的字符。
在这里插入图片描述

四、出现问题和解决方法

4.1 烧录总是要自己插拔USB

【STM32】USB程序烧录需要重新上电 & 软件复位方法

4.2 自己生成的工程没有测试成功

使用我的工程,自己对比一下看看
STM32F407 USB的 CDC 虚拟串口(VCP)程序
https://download.csdn.net/download/weixin_52296952/88775046
去我的主页的资源里面找找

http://www.yayakq.cn/news/38660/

相关文章:

  • 2018企业网站转化率长沙公司网站建设
  • 用360打开自己做的网站有广告商业设计说明
  • 如何建议一个网站网站建设模块一项目三
  • 企业网站可以做游戏类网站么北京环评在那个网站上做
  • 光谷做网站推广费用怎么建一个网站
  • 三三网是什么网站做百度网站要注意什么
  • 寺庙网站素材四川建网站
  • 哪个网站做新加坡劳务比较好的网络规划设计师正高级任职资格
  • 福州高端品牌网站建设seo快速优化技术
  • 网站的颜色搭配贵州国龙翔建设有限公司网站
  • 知识竞赛网站建设方案策划书小视频网站开发流程
  • 怎么创立网站莆田市建设局网站
  • 阿里巴巴网站建设的态度虚心国内企业手机网站建设
  • 建设一个商城网站需要多少钱手机做wordpress
  • 邯郸网站建设安联网络公司南京网站费用网站建设
  • 有官网建手机网站浙江网站建设专家评价
  • mysql数据做彩票网站上海高端建站
  • 温州企业模板建站济南seo外贸网站建设
  • 阿里云手机网站建设多少钱wordpress 加子目录
  • 郑州做食用菌配送的网站沈阳建筑工程信息网
  • 河北定制网站建设调试如何提高网站文章收录
  • 做招聘网站需要资质吗外链系统
  • 周口公司做网站安徽网站开发项目
  • 网站域名的单词搜索引擎营销的特点是
  • php网站开发案例教程 dvd揭阳网页制作公司
  • 做红木家具推广哪个网站比较好网站建设 银川
  • wordpress 淘宝客网站织梦网站地图模板样式
  • 网站图片的作用滨州市住房和城乡建设局网站
  • 网站建设app销售好做吗找别人做网站注意事项
  • 北京做企业网站多少钱做pc网站排名