STM32F407使用USB作虚拟串口出现黄感叹号

发布者:温馨小屋最新更新时间:2018-06-02 来源: eefocus关键字:STM32F407  USB  虚拟串口  黄感叹号 手机看文章 扫描二维码
随时随地手机看文章

最近因为工作需要使用到了STM32F407VET6的USB_OTG_FS作为虚拟串口。 
之前用STM32 CubeMX生成过STM32F103C8T6的虚拟串口代码,感觉用起来很方便,于是这次的F407也用MX生产工程,奈何竟然遇到诸多难题,整整困扰了两天。 
先说一下我的流程。

MX生成F407 USB虚拟串口工程操作流程

1,选择芯片

先是利用条件筛选选择自己的芯片,如下图:选择芯片

2,配置管脚

配置RCC输入脚,SYS调试口以及USB_OTG_FS,USB_OTG_FS–>Device Only–>Comunication Device Class,个人喜欢使用FreeRTOS。配置如下图:配置管脚

3,配置时钟

用的8M外部晶振,如下图即可:配置时钟

4,外设配置

目前好像没什么要改,如下图:外设配置

5,创建工程

选择用Keil或IAR,这里用Keil v5,然后工程就完成了,如下图: 
创建工程


如果是F103,到这里就可以开始直接写代码了,但这次的F407问题是连绵不断的出现。 
1,自己打样的板子,USB直接无反应。 
2,解决问题1后,USB显示未知设备。 
3,解决问题2后,出现了串口设备带串口号,但有个黄色感叹号并且无法使用。


问题一:插入USB无反应

原理图是用AD画的,当时不确定这个USB接口是作Master还是Slaver,就预留了两个上拉电阻,但PCB上未做标记,结果焊板子的时候搞忘了全部焊上了,然后就。。。 
原理图 
拆掉R23电阻,OK,电脑有反应了。

问题二:被识别为Unknown Device

工程创建成功后未做任何修改,先编译,然后直接download,插上USB 
这里写图片描述 
Unkown Device?不应该出来一个STM带头的玩意? 
多方查阅资料后发现,STM32F407的VBUS检测功能默认竟然是开启? 
关于VBUS的连接,手册是这么写的:


The VBUS pin can be freed by disabling the VBUS sensing option. 
This is done by setting the NOVBUSSENS bit in the OTG_FS_GCCFG register. 
In this case the VBUS is considered internally to be always at VBUS valid level ( 5V).


也就是说,如果不用的话要把这玩意禁用掉。。。于是乎,重新到MX的外设配置出查看一下: 
VBUS
果然如此,二话不说就disable,然后重新生成了一下代码,终于不是Unknown Device 了。。。

问题三:带黄色感叹号的COM口

满怀信心地编译,download,插上USB,结果是这幅德行: 
黄色感叹号 
COM口是出来了,然而并不能用。通过查阅各种资料,终于找到了原因,在某一篇帖子有人遇到了相同的问题帖子地址,是STM32CubeMX分配的堆空间太小: 
堆空间 
把0x200改成0x600(不是一般都是堆空间大于栈空间吗),重新生成工程,编译,download,插上USB: 
感叹号消失 

Fantastic!黄色感叹号终于消失了(忽略那个COM7,那是驱动出了点小问题)。在加入若干代码后编译:


/* StartDefaultTask function */

void StartDefaultTask(void const * argument)

{

  /* init code for USB_DEVICE */

  MX_USB_DEVICE_Init();


  /* USER CODE BEGIN 5 */

  /* Infinite loop */

  for(;;)

  {

    CDC_Transmit_FS((uint8_t *)"无Fuck说!\n",sizeof("无Fuck说!\n"));

    osDelay(500);

  }

  /* USER CODE END 5 */ 

}

无话可说 
终于能正常使用了,这个USB虚拟串口能告一段落了。

关键字:STM32F407  USB  虚拟串口  黄感叹号 引用地址:STM32F407使用USB作虚拟串口出现黄感叹号

上一篇:STM32的硬件I2C与AT24C16
下一篇:STM32-USB虚拟串口-学习笔记

推荐阅读最新更新时间:2024-03-16 16:04

Diodes 公司推出 USB Type-C PD3.0 接收控制器
Diodes 公司推出 USB Type-C PD3.0 接收控制器,提供精简且具成本效益的充电解决方案 【2022 年 06 月 29 日美国德州普拉诺讯】Diodes 公司 (Diodes) 新推出两款高效能 USB PD3.0 Sink 控制器 IC,持续强化其 USB Power Delivery (PD) 解决方案的产品组合。 AP33771 与 AP33772 接收控制器专为家电及无线电动工具所设计,可透过 USB-C 协调,达到适当的电压电位。两款控制器的操作电压范围为 3.3V 至 24V。 AP33771 针对电压和功率需求,采用简易的接脚设定,以增加使用便利性,而 AP33772 可为具备 µC
[模拟电子]
Diodes 公司推出 <font color='red'>USB</font> Type-C PD3.0 接收控制器
STM32 USB 大容量存储器Mass Storage工程的讲解
程序可以兼容官方推出来的不同系列的评估版,所以程序里经常看见类似于#ifdef STM32L1XX_MD、#ifdef USE_STM3210E_EVAL这样的宏开关语句,甚至随工程附带了两个版本的库文件,这也照成了程序理解和调试的困难。 工程随带了两个库文件:STM32F10x_StdPeriph_Driver和STM32F1xx_StdPeriph_Driver。我们当然只能选一个了,比如手我们选择 STM32F1xx_StdPeriph_Driver,只要点击该组,右键- option for Group....,钩上iinclude in Target 和always build,就可以,另一个库文件组,钩掉这两个选项就可
[单片机]
欧盟新规会让iPhone用USB-C口吗?
在最近的一次出行 EDC 分享中,我一位朋友就如同哆啦 A 梦一样,从他那硕大的包中取出一样又一样好用有趣的物件。   其中有一个有趣的环节,这位朋友从不同大小的收纳包中取出了各式各样的充电器和充电线:   这个是 iPhone 的快充线、这个充电头支持 100W PD、这个是 Apple Watch 的充电器,最后这个绝了,不仅支持市面上大部分快充协议,还能多口输出…。。   不知为何,在朋友颇为兴奋的介绍与安利当中,我读出一丝‘无奈’的情绪——为什么出个门要带这么多充电器和充电线啊。   可能不少人都有和我这位朋友相似的遭遇,尤其是苹果设备全家桶用户,iPhone 、Apple Watch、iPad,不统一的充电器大
[手机便携]
是德科技解决方案助力USB4® V2.0新版规范
是德科技解决方案助力USB4® V2.0新版规范 2022 年 10 月 26 日,北京——是德科技公司日前发布了一套全新的仿真、测试和测量解决方案。该解决方案可以加速开发、实施和部署新的 USB 80Gbps 兼容器件。是德科技提供先进的设计和验证解决方案,旨在加速创新,创造一个安全互联的世界。 USB4® V2.0规范为数字间通信提供了一个即插即用接口,在带宽和数据传输方面具有显著优势。得益于广泛的行业合作和研发成果,是德科技能够提供专为执行 USB 80Gbps 设计表征和验证而打造的解决方案。因此,围绕向后兼容的 USB Type-C® 双面连接器建立起来的生态系统(由芯片厂商和系统集成商组成)可以通过高分辨
[测试测量]
是德科技解决方案助力<font color='red'>USB</font>4® V2.0新版规范
笔记本连接高功耗USB设备如USB硬盘的问题
现在很多笔记本直接连接外接大功耗USB设备都无法正常使用。最典型常用的是USB硬盘。 这是因为兼顾节能方面的要求,笔记本电脑的USB接口被设计成为仅保证支持一些低功耗设备如鼠标、键盘、游戏控制器等。USB总线标准规定,USB接口为设备提供额定电压+5V的直流电源供应,额定工作电流不大于500毫安。USB移动硬盘一般使用笔记本专用硬盘,正常工作电流都远大于500毫安(只要取出硬盘,可以在硬盘盘体的标签上读到该硬盘工作参数),在USB接口额定输出功率无法改变的情况下,接入超出额定功率的设备将导致USB总线工作电压被拉低(参考公式P=U×I)进而造成USB总线传输的数据发生紊乱,最终结果就是设备无法正常工作。同时,USB接口电路长时间处于
[嵌入式]
USB转换方案介绍
随着科技的不断发展,我们的生活中出现了越来越多的电子设备。然而,这些设备通常具有不同的连接端口和协议,这可能会使它们之间的连接变得困难。这时候,使用USB转换就成为了一种非常方便和实用的解决方法。 无论是在家庭、办公室还是旅途中,使用USB转换可以帮助我们更加便捷地连接各种设备,提高工作和生活的效率。 本文将介绍一些常见的USB转换方案内容,帮助您更好地了解和应用。 常见的USB转换方案 1、USB到串口转换: 将USB接口转换为串行通信接口(如RS232、RS485、TTL等),常用于与串口设备(如调试工具、模块、传感器等)进行通信。 2、USB到以太网转换: 将USB接口转换为以太网接口,实现通过USB接口连接到网络的
[嵌入式]
<font color='red'>USB</font>转换方案介绍
STM Nucleo-68无线开发板和USB加密包
如果您需要开发物联网应用程序,一个合乎逻辑的起点是获得具有无线功能的开发板。当您的开发计算机可能没有您需要使用的无线协议时,问题就变成了您如何编程和测试它。无论如何,在现场您可能会处理自定义接口设备,这意味着您可能需要两个开发板,其中一个可能在测试期间保持连接到您的计算机。 STM32WB Nucleo-68 无线解决方案包通过基于 Nucleo68 STM32WB 的开发板与具有另一个板载 STM32WB 微控制器的 USB 加密狗/开发板配对,解决了这两个问题。这两个组件均具有 2.4 GHz 射频收发器,支持蓝牙 5.0,以及 IEEE 802.15.4-2011 数据传输功能。每个还具有三个用于即时项目反馈的用户 LE
[单片机]
伟诠电USB PD出货量看增;车用新品贡献待观察
厂商伟诠电 (2436)去(2017)年受惠打入任天堂游戏机 SWITCH供应链,USB PD出货量暴增至2500万颗,且代理Rohm产品价格上涨,拉升全年营收年增16.28%,毛利率同步走升;同时,业外丰厚的处分金融资产利益挹注,带动EPS达1.02元,优于前年的0.64元,并改写十年最佳。伟诠电预估,今年USB PD总出货量可超过3000万颗以上,加上今年也推出新产品USB PD整合方案以及车用智能镜头,可助今年营收维持成长动能。但法人则认为,去年伟诠电获利的好成绩有一大部份来自业外进补,今年的获利动能还需观察。 伟诠电去年营收占比,电源类32%、非电源类20%、代理销售48%。去年营收受惠于属电源类的USB PD持续放量
[半导体设计/制造]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved