STM32 USB 问题汇总(转)】的更多相关文章

源:STM32 USB 问题汇总 汇总1:STM32的USB例程修改步骤,来自http://blog.csdn.net/cy757/archive/2010/01/01/5117610.aspx 以下是笔者将ST的Custom_HID例程修改为“自定义USB设备”例程时总结出来的,因为笔者也是刚刚学USB开发不久,某些方面理解错误在所难免,请各位大虾指正. 一.usb_desc.c文件 根据你程序使用的通信方式修改.usb_desc.h文件中定义要根据usb_desc.c文件中的数组的大小:Co…
MDK5 STM32编译问题汇总 WIN8.KEIL-MDK-5 编译时,出现弹窗"The ARM C/C++ Compiler 已停止工作",关闭弹窗后,编译输出的窗口中出现如下错误: ..\OBJ\LED.axf: error: L6002U: Could not open file ..\obj\core_cm3.o: No such file or directory 解决方法: 移除工程中的"core_cm3.c"文件,工程即可编译成功,并且可以正常运行,…
将stm32的USB口接到PC端后,PC端会要求安装一个STM32 USB Virtual COM Port Driver,然后就可以用串口调试助手对其操作了…
源:STM32 USB虚拟串口 串口调试在项目中被使用越来越多,串口资源的紧缺也变的尤为突出.很多本本人群,更是深有体会,不准备一个USB转串口工具就没办法进行开发.本章节来简单概述STM32低端芯片上的USB虚拟串口的移植.在官方DEMO中已经提供了现成的程序,这里对修改方法做简单说明. 官方demo及驱动程序,我存放在百度盘: http://pan.baidu.com/s/1hq3moE4 首先打开官方demo我们开始进行移植,第一步复制我们可用的文件,操作如下: Projects\Virt…
串口调试在项目中被使用越来越多,串口资源的紧缺也变的尤为突出.很多本本人群,更是深有体会,不准备一个USB转串口工具就没办法进行开发.本章节来简单概述STM32低端芯片上的USB虚拟串口的移植.在官方DEMO中已经提供了现成的程序,这里对修改方法做简单说明. 官方demo及驱动程序,我存放在百度盘: http://pan.baidu.com/s/1hq3moE4 首先打开官方demo我们开始进行移植,第一步复制我们可用的文件,操作如下: Projects\Virtual_COM_Port文件夹下…
STM32 USB Virtual COM USB转串口的功能实现   这次讲的是如何实现USB转串口功能的实现.首先看看工程的布局吧: 我们主要要介绍的文件的在USB_User这个组文件.从上面的截图可以看到USB_User这个文件由hw_config.c.usb_desc.c.usb_endp.c.usb_istr.c.usb_prop.c.usb_pwr.c几个文件组成.其中usb_istr.c和usb_pwr.c整两个文件不用修改,其他的文件都需要修改.下面接慢慢将来. 首先讲讲hw_c…
http://blog.csdn.net/u011318735/article/details/17424349 既然学习了USB,那就必须的搞懂USB设备与USB主机数据是怎么通讯的.这里主要讲设备端,因为我们的代码是做USB设备用的. 我们需要必须要定义了USB中断.起始在STM32的中断向量表中给USB两个中断,我们可以在stm32f10x.h中找到这两个中断: USB_HP_CAN1_TX_IRQn = 19, /*!< USB Device High Priority or CAN1…
STM32 USB-FS-Device development kit Compatible with the STM32F102xx and STM32F103xx series, STM32 L1 Ultra Low Power, STM32 F3 Series USB On-The-Go host and device library Compatible with the STM32F105x, STM32F107x devices in FS USB modes Compatible…
这篇文章是串口中断的文章--STM32基于CubeMX的高速串口收发程序(中断模式)比较有帮助. http://www.stmcu.org.cn/module/forum/thread-616613-1-1.html 看到大家经常写一些关于串口的问题,我也尝试开一个使用串口的工程. 简单的要求是,USART1和USART2之间互相转发. 发现使用CubeMX平台,建立测试工程没有难度,情况如下: 1. 配置管脚,使用BluePill最小板,PC13接有LED: MCU是STM32F103C8T6…
硬件设计 该核心板的USB插口有两个,一个是用于USB Slave的,可以用来做HID设备,把模拟STM32模拟为U盘等:另一个是USB Host设备,可以对插上的U盘的数据进行读写. 图中J2是Micro-USB口,用于向整个板子供电,由于最大供电为500mA,所以板载资源耗电不能超过2.5W. 上图中J1是USB Host设备,它需要向Slave(如U盘)供电,USB_POW用于控制是否供电.当USB_POW为低,Q1导通,5V的电源(来自)供到S5V上,为Slave供电. 在调试USB-H…
.\usb\USB\usb_pwr.h(54): error:  #20: identifier "bool" is undefinedusb\USB\usb_pwr.h(54): error:  #20: identifier "bool" is undefinedusb-driver\STM32_USB-FS-Device_DriverV3.1.1\src\usb_core.c(511): error:  #20: identifier "TRUE&q…
USB 时钟可以一直使能. 如果CAN时钟没有使能,RAM 能被软件读写.(CANBus 不能发送和接受Message) 如果CAN时钟使能,RAM不能软件被写. CANBus Core 控制此RAM区域.(CANBus 可以发送和接受Message) CANBus 占用了 256 字节(地址范围 512 字节). 开始区域是Filters[14] = (F0R0.F0R1), (F1R0.F1R1),  ... (F13R0.F13R1). 紧接着是 Rx0 FiFo[0], Tx0, Tx1…
概述 通用串行总线(英语:Universal Serial Bus,缩写:USB)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,并扩展至摄影器材.数字电视(机顶盒).游戏机等其它相关领域.最新一代是USB 3.1,传输速度为10Gbit/s,三段式电压5V/12V/20V,最大供电100W ,新型Type C插型不再分正反. 工作原理 USB是一个外部总线标准,用于规范电脑与外部设备的连接和通讯.USB接口即插即用和…
OTG_FS general core configuration register (OTG_FS_GCCFG) Bit 21 NOVBUSSENS: VBUS sensing disable option When this bit is set, VBUS is considered internally to be always at VBUS valid level (5 V). This option removes the need for a dedicated VBUS pad…
查了一整天的资料,自己把不懂的全部试了一遍 一下是程序以及注释 /* USB设备描述符*/ const uint8_t CustomHID_DeviceDescriptor[CUSTOMHID_SIZ_DEVICE_DESC] = { 0x12, /*bLength 描述符的长度*/ USB_DEVICE_DESCRIPTOR_TYPE, /*bDescriptorType 描述符的类型(设备描述符为0x01)*/ 0x00, /*bcdUSB USB协议的版本*/ 0x02, 0x00, /*…
目的 完成一个CDC + MSC的复合USB设备 可以方便在CDC,MSC,复合设备三者间切换 可移植性强 预备知识 cube中USB只有两个入口. main函数中的MX_USB_DEVICE_Init函数. /* init function */ void MX_USB_DEVICE_Init(void) { /* Init Device Library,Add Supported Class and Start the library*/ USBD_Init(&hUsbDeviceFS, &a…
相信很多人在做USB转串口时出现过串口驱动安装不成功,出现黄色感叹号问题, 出现这种问题一般是驱动安装不成功造成的. 这里我就这个问题总结几个简单的方法. 方法1: 插上USB,利用驱动人生安装驱动. 方法2: 先插上USB,去到设备管理器,把驱动卸载, 然后再把USB拔掉,再插上,让电脑自动重新安装驱动,反复几次就可以了. 方法3: 有一种可能是STM32CubeMX分配的堆空间太小造成的,这里改变其大小即可,如下: 方法4: 还有一种原因是STM32F407的VBUS检测功能默认是开启,把该…
*MOS0101000000# 鼠标左键按下 *MOS0102000000# 鼠标右键按下 *MOS0103000000# 鼠标中键按下 *MOS0100000000# 鼠标抬起 *MOS01000a0000# 鼠标向+X移动0x0a *MOS01008a0000# 鼠标向-X移动0x0a补数 *MOS0100000a00# 鼠标向+Y移动0x0a *MOS0100008a00# 鼠标向-Y移动0x0a补数 *MOS010000000a# 鼠标向上滚动0x0a *MOS010000008a# 鼠…
  前期准备: 一.硬件资源:STM32F103,USB-FS固件库. 链接: STM32 之 标准外设版USB驱动库详解(架构+文件+函数+使用说明+示例程序) https://blog.csdn.net/ZCShouCSDN/article/details/78936456?utm_source=blogxgwz1 二.调试软件:usbtrace3.0或者BusHound,用于看USB设备的信息.KEIL编译环境-用于开发. 后续相关工作: (1)用STM32CubeMX配置,具体实现其它的…
目录: 第1部分:参照“正点原子USB虚拟串口工程移植步骤”移植ST的USB HID工程(失败了): 第2部分:在1的基础上,替换USB HID初始化代码为ST 例程中的代码,编译后根据报错调试(失败了): 第3部分:直接移植ST的USB HID工程,根据报错调试代码(成功了).       小孙想要总结这一年来学到的关于stm32的USB相关知识,但又不知道怎么总结,于是决定 从头开始调试固件库代码,直到实现USB功能为止!     首先准备参照正点原子<第88讲 USB虚拟串口实验-M3>…
史上最全USB HID开发资料 史上最全USB HID开发资料,悉心整理一个月,亲自测试. 涉及STM32 C51 8051F例子都有源码,VC上位机例子以及源码,USB协议,HID协议,USB抓包工具,开发文档,开发过程文档. 有了这个资料包,你再说开发不了USB HID,打死我都不信!好资料当然一分都不能少!  内容截图:   内容简介:  STM32_USB_Demo例子:USB虚拟串口.HID.游戏手柄.USB音频传输等demo源码. STM32_USB_HID_PC_demo:USB…
1. STM32 USB可配置在全速模式,时钟频率需为48MHz,且精度较高,无法使用芯片内部高速时钟实现(内部时钟精度一般为1%,但USB时钟需要0.1%) 2. 使用重映射功能时,需注意开启AFIO时钟,且需注意功能冲突 3. ADC注入组最多4个通道,每个通道转换数据单独保存在JDRx中,该数据已经减去在ADC_JOFRx寄存器中定义的偏移量,因此结果可以是个负值,最高位SEXT位是扩展的符号位,在左对齐情况下,数据占据第14--3位,这点需特别注意 对于规则组通道,不需减去偏移量 注入序…
STM32 USB那点事1 USB那点事2 - Custom HID例子程序解疑 USB那点事3 -使用端口2作为custom HID的传输 USB那点事5之USB通信出错 USB那点事6传输要素 STM32 USB那点事之6…
1.从代码仓库克隆源代码:$ mkdir bzrobot_ws$ cd bzrobot_ws$ hg clone http://192.168.15.88/hg/bzrobot_src src$ catkin_make$ source devel/setup.sh(IP 请根据实际实时更新) 2.将本地代码推到代码仓库: wang@wang-Rev-1-0:~/bzrobot_ws/src$ hg pull http://192.168.15.88/hg/bzrobot_src wang@wan…
前言 板子申请了也有一段时间了,也快到评测截止时间了,想着做点有意思的东西,正好前一段时间看到过可以在MCU上移植MicroPython的示例,就自己尝试一下,记录移植过程. MicroPython是什么 程序猿中有句俗语:人生苦短,我用Python.Python的强大和易用性让它不仅可以写网站,编程序,在嵌入式领域也有一席之地. MicroPython,是Python3编程语言的一个完整软件实现,包括Python标准库的一小部分,用C语言编写,经过优化可在微控制器和受限环境中运行.MicroP…
是自定协议,用到一个bulk in ep1, 一个bulk out ep2 端点  用虚拟串口的优点显而易见,上位机的编写非常方便,就按照常规的串口功能编写就可以了,而速度确还是usb的速度  USB要提速 1.使用自定义的Bulk传输 2.增加驱动的Buffer 刚才又实验了下,现在驱动程序方面的速度瓶颈已经解决了.主要还是这个PipeMaxTransferSize的关系,这个值越大速度越快.晚上注意到这 个值很多USB设备的驱动程序都是设的很大的,连HID设备都设成4096,我的一个U盘也是…
一.内容概述  采用STM32内部自带USB控制器外加大页NAND FLASH K9F1G08U0A实现一个128M的U盘. 1.STM32的USB控制器 STM32F103的MCU自带USB从控制器,符合USB规范的通信连接:PC主机和微控制器之间的数据传输是通过共享一专用的数据缓冲区来完成的,该数据缓冲区能被USB外设直接访问.这块专用数据缓冲区的大小,由所使用的端点数目和每个端点最大的数据分组大小所决定,每个端点最大可使用512字节缓冲区,最多可用于16个单向或8个双向端点.USB模块同P…
源:基于STM32的USB枚举过程学习笔记 基于STM32的USB枚举过程学习笔记(一) 基于STM32的USB枚举过程学习笔记(二) 基于STM32的USB枚举过程学习笔记(三) 基于STM32的USB枚举过程学习笔记(四) 基于STM32的USB枚举过程学习笔记(五)…
之前使用ST官方的库以及网络的资料,完成了使用USB HID类进行STM32和PC机的通讯.由于其他原因并没有深入的分析,虽然实现了功能,但是关于USB设备的枚举,以及具体的通讯方式都没有清晰的概念,所以现在回头重新学习USB相关知识.主要参考资料是<圈圈教你玩USB>.USB枚举过程图解,ST官方的USB HID例程. 一,USB数据包    1.    USB数据包分类     USB总线上的数据传输以包为基本的单位.USB协议规定了四种包:令牌包.数据包.握手包.特殊包.不同的包通过包中…
源:STM32之独立版USB(Host)驱动+MSC+Fatfs移植 STM32之USB驱动库详解(架构+文件+函数+使用说明+示例程序)…