STM32 USB应用——VCP

目录:

1、STM32 USB开发工具用户手册

2、STM32 USB固件库

3、实现例程

总结:如果老板给你一个VCP的项目,怎样才能快速的开发呢,其实有两条方法,其中一条是根据USB库文件一步一步的移植,一步一步的修改,这个可以参考参考圈圈叫你玩USB这本书,但是,第二条方法其实更好,ST公司,早就写好了VCP的demo,所以只要直接使用它的程序就可以省下很多的时间成本。

很多东西,其实我们只要会用就可以了,凡事亲力亲为,重头做起那是有多蠢啊,站在巨人的肩膀上,才能看的更高,走的更远,



1、STM32 USB开发工具用户手册

  

2、STM32 USB固件库

  总体框架

  

  分为三层

  2.1、USB-FS_Device peripheral interface

     

  2.2、USB-FS_Device peripheral medium

      

  2.3、application interface

在项目中是将应用接口函数写在User文件中,将设备接口层和中间层的文件放在USB-FS-Device_Driver中

3、实现例程

  以VCP为列,首先下载STM32公司提供的程序,然后找到Virtual_COM_Port,打开MDK-ARM文件夹,其他是用其他的软件打开的,因为我们使用的是MDK,所以要打开这个文件中的VirtualCOMPort.uvproj,可以看到

  

  因为STM32提供的程序是适合各种型号的STM32芯片,所以会有很多_StdPeriph_Driver,为了适应不同的开发版又有很多的-EVAL

  

再define中定义STM32F10X_MD,USE_STM3210B_EVAL

然后编译,会出现STM32F10x_StdPeriph_Driver文件下和STM3210B-EVAL文件下的C文件,其他的C文件不编译,这就相当于一个开关,

  实验结果:

  首先插上USB端口线,电脑上会安装Virtual Com Port(COM12)端口

  再插上USB转串口线,电脑上会出现USB-TO-Serial comm port COM11端口

  

  打开串口调试助手就可以通信了。

  

  

时间: 2024-08-30 04:06:30

STM32 USB应用——VCP的相关文章

stm32 USB hid设备与PC进行双向数据传输时PC不识别USB设备

stm32 USB hid设备与PC进行双向数据传输时PC不识别USB设备,或者开始时识别,拔出后再插入就没有反应了,就连鼠标U盘也没有反应. 我的问题是,我安装了VMware虚拟机,并进行USB设备的分配,使得虚拟机系统也识别USB设备. 所以,解决问题的办法如下: 在<属性>中选择禁用. 然后把下面的VMware Workstation Server 也禁用了.重启电脑就OK了.

STM32 USB Virtual COM

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_con

STM32 USB虚拟串口(转)

源:STM32 USB虚拟串口 串口调试在项目中被使用越来越多,串口资源的紧缺也变的尤为突出.很多本本人群,更是深有体会,不准备一个USB转串口工具就没办法进行开发.本章节来简单概述STM32低端芯片上的USB虚拟串口的移植.在官方DEMO中已经提供了现成的程序,这里对修改方法做简单说明. 官方demo及驱动程序,我存放在百度盘: http://pan.baidu.com/s/1hq3moE4 首先打开官方demo我们开始进行移植,第一步复制我们可用的文件,操作如下: Projects\Virt

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

STM32 USB 之从0开始移植笔记

STM32 USB 之从0开始移植笔记 -----------------------------------动机----------------------------------- 写在前面的话:最近逛淘宝无意间发现RC522居然只要10元左右就可以包邮买到,真是太便宜了,就忍不住买了个回来玩玩.到货移植到我的板子上OK 后突然发现我的USB口紧张了,一个用来给板子供电一个插jlink 一个插入usb转串口给RC522下命令.就想着将板子供电和RC522传输用一个USB接口来实现.这就是这次

stm32 usb数据接收与数据发送程序流程分析

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 Core and USB OTG Core

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 USB转串口驱动移植到SylixOS中遇到的问题总结

1. 简介         由于客户项目需求,需要在STM32的硬件平台上实现USB转串口的功能,由于ST公司基于STM32硬件平台实现了相应的USB库以方便开发者进行开发,因此,在SylixOS下实现USB转串口功能时对该USB库进行了移植.由于该USB库的实现是基于STM32的裸机代码实现,因此在移植的过程中,不需要做过多的修改.         下面章节主要介绍在移植STM32的USB转串口驱动到SylixOS下遇到的问题以及对应的解决方法.对于其中的有些解决方法在移植STM32其他外设驱

stm32 usb error : identifier &quot;bool&quot; is undefined

.\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