准备工作
通过STM32CubeMX生成一份标准的USB VCP例程.
代码修改
端点配置修改
增加第二个虚拟串口用到的端点配置,一个虚拟串口需要用到3个非0端点(2个bulk和一个interrupt)
设置增加端点的FIFO
注意 : 这里的FIFO大小的设置有一定的讲究,否则会导致一些异常,如将端点1和端点3的FIFO大小都设置为0x80则会导致某一个虚拟串口的数据会乱码显示
在参考的文章中发现这里为新增的端点设置内存时,有的为端点2和端点3设置FIFO,有的为端点3和端点4设置FIFO.测试发现:实际这里只需要为端点3设置FIFO.
为新增的端点增加初始化操作
描述符修改
将设备描述符修改为复合设备描述符
修改配置描述符
同时将头文件中的数组大小定义修改为如下:
修改最大的接口数配置
数据处理
修改CDC发送数据包和接收数据包的函数
主要是在函数中增加了端点号的参数,使该函数在使用中可以根据端口号选择具体使用的端点.
修改CDC通信接口函数
至此所有的修改便已经完成了,便可以通过编译下载到单片机上进行测试了.
关键字:STM32F407 USB
引用地址:
STM32F407 USB虚拟双串口
推荐阅读最新更新时间:2024-11-11 13:15
[STM32]STM32F407系列教程之二,gpio输入输出实验
一、实验准备 1.模板demo 原因呢,我在第一讲中已经说过,费尽千辛万苦搭建了一个模板,流过多少泪、费劲多少事,只有亲自搭建过的才会体会到(第一讲我只是讲了组成,后续有机会,我将带大家亲手搭建一个),搭建完成后,备份压缩(玩过Linux的大概有点感触,配置了一个新环境,就得做个镜像,哪天系统崩了,就可以重装系统,这里也是一样的)。 2.板级支持包 就是在我的工程文件中,所有以”Bsp_”开头的文件,位于BSP文件夹下: BSP文件夹下有两个文件夹:BINC、BSRC。一个存放h文件,一个存放c文件,是可以放到一个文件中,我只是为分类能够明显点。 PS:关于这种分类,我在其他文件夹中也有类似的设计,有兴趣可自行查找
[单片机]
s3c2440的USB热插拔驱动问题
s3c2440的USB驱动在较新的LINUX内核中有比较好的支持,代码修改较少,但是也存在一些问题,修改记录如下: 一、编译选项中注意选上以下几项,其它的可以根据实际情况选取: USB support- à * support for Host-side USB USB device filesystem USB device class-devices(DEPRECATED) * OHCI HCD support * USB Mass storage support 二、修改d
[单片机]
简化嵌入式系统连结设计
USB连结是许多嵌入式应用的重要规格;高度整合的USB微控制器解决方案,不仅能以最简易的方式为嵌入式系统建立USB连结,还能提供高效能的CPU功能;其所附带的整合式类比周边更有助于降低元件数量和材料清单成本,进一步满足市场需求。 高整合度USB微控制器可以高成本效益,完成嵌入式连结功能设计。 加入更多功能/周边降低整体成本 USB在工业和消费应用中迅速获得采用,同时也为嵌入式解决方案的设计人员带来挑战,因为设计人员须把USB连结融入产品中,且还要维持或者降低整体成本。早期版本的USB微控制器是为增设USB介面所开发,但它没有能力支援其他的功能或周边设备。当USB刚推出时,这些元件在推动USB介面的全面普及上扮演重要的角色
[单片机]
基于stm32的mcu和pc的usb通讯技术
就通信方式讨论:(以下不论ARM核嵌入式低端高端均称为单片机) 单片机间通信可用UART或SPI串口通信,UART适合速率不高,为了兼容低端单片机的场合。SPI比较通用,而且速率可高至单片机核心时钟的1/4(但单片机IO速率低的要注意不能超过单片机IO速率)。高端单片机,如STM32F103系列,带有DMA,可减轻CPU负担。 单片机与PC通信,一般用串口或USB接口。串口或用MAX232芯片与PC串口相连,或用USB转UART芯片(PL2302等)桥接。USB口需单片机带USB接口模块,或USB桥接芯片,或用软件模拟(仅业余使用,商品或工业使用不推荐)。 就USB接口讨论: 单片机所带USB接口多
[单片机]
韦东山嵌入式Linux_3期之USB摄像头监控_手机App增加录像功能(一)
一、手机App功能简述 1) JZ2440开发板作为摄像头监控设备和流服务器,将采集到的摄像头视频数据,通过wifi实时传送到手机App上 2) 手机App作为客户端,通过wifi从流服务器接收摄像头视频,然后显示在屏幕上 3) 显示模式支持:全屏或者保持宽高比 4) 支持:显示FPS帧率 5) 支持拍照功能:把视频的某一帧保存为jpeg图片 6) 支持照片的浏览和删除 7)(新增)支持录像功能:把视频的某一段保存为mkv视频文件 8)(新增)支持录像的浏览和删除 回到顶部(go to top) 二、概要设计 2.1 技术方案 候选方案有三种: 方案1)在原框架的基础上,编写代码,实现录像功能 优点:可能代码量比较少 缺
[单片机]
拆解奔驰E级USB充电模块,汽车电源设计谈何容易
首先谈一下我的感受,大家都用手机,但不一定知道目前国内车厂出现了一台神奇的设计,12个 USB 充电口,像装修房子一样。而其实 汽车电源 的设计具有特殊性,想要把单个USB的充电器做好,单就保护还有 电压 移植的工作就已经很不容易, 12个谈何简单。 USB口涉及到要转化成低电压,各种手机的握手识别,还要保护手机的接口,这个是需要仔细考虑的,USB电压可能会导致整个后端的电压输出不稳定超出电池的限制。 电瓶的的电压范围是8V-16V,蓄电池的电流很大,而且负载随时可能会断开,12V电源总线上就会产生超过电源电压几倍的冲击电压,蓄电池误接和蓄电池双倍电压跳跃激活(24V)操作这样大操作也会造成充电
[嵌入式]
Molex/Microchip合作开发USB功率输出解决方案
莫仕(Molex)和Microchip正在合作开发用于汽车资讯娱乐系统的整合式USB媒体模组与USB功率输出解决方案。在早前于美国内华达州拉斯维加斯举办的国际消费电子展(CES)上,Molex已重点展示了这些用于连网车辆的先进应用。 Molex负责互连行动解决方案的业务发展总监Dave Atkinson表示,现在许多车辆都配备了多个充电器和电源接头,以满足对行动连接的庞大需求。该公司的整合式汽车解决方案为客户提供了设计上的灵活性,可以为多种车型简化并客制化资讯娱乐系统与USB功率输出系统。 该公司在CES 2018上展示了USB 媒体模组及功率输出解决方案,并进行了一次先端性的示范,展示USB体模组与功率输出解决方案和Microc
[半导体设计/制造]
基于DSP的USB技术在图像传输中的应用
0 引言
当前,数字信号处理器(DSP)芯片以其强大的运算能力不仅在通信、电子、图像处理领域得到了广泛的应用,同时在医疗,生物等新兴领域也有相应的应用。基于DSP的多功能滴定仪器主要是用于粮食质量的无公害检测,在该项目中, 需要设计一个图像采集和处理的DSP子系统, 该DSP子系统主要完成RAW格式图像数据的采集和相关的处理, 处理后的图像数据的显示和更进一步的处理及判别需要由PC机来完成,同时Pc机处理后的结果还需要返回给DSP。由于DSP端需要传给Pc的图像数据是不需要经任何压缩的RAw格式,而RAW格式的图像数据与压缩过的图象数据(如JPEG等)相比,数据量比较大,这样就需要设计一个高速接口来完成DSP与主机之间
[嵌入式]