usb显示器stm32 (stm32usb的使用)

1、USB设备介绍

USB,即为通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接*技口**术。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的。

标准 USB 共四根线组成,除 VCC/GND 外,另外为 D+,D-;这两根数据线采用的是差分电压的方式进行数据传输的。在 USB 主机上, D-和 D+都是接了 15K 的电阻到低的,所以在没有设备接入的时候, D+、 D-均是低电平。而在 USB 设备中,如果是高速设备,则会在D+上接一个 1.5K 的电阻到 VCC,而如果是低速设备,则会在 D-上接一个 1.5K 的电阻到 VCC。这样当设备接入主机的时候,主机就可以判断是否有设备接入,并能判断设备是高速设备还是低速设备。

正点原子精英板上采用的USB如下所示:

stm32usb转串口,stm32usb的使用

USB设备框图如下所示:

stm32usb转串口,stm32usb的使用

2、虚拟串口进行数据收发

1、在stm32F1上进行

首先是配置cubemx开启USB功能

stm32usb转串口,stm32usb的使用

下面我们要使用USB的功能需要配置这个中间件,说白了就是对应的库

stm32usb转串口,stm32usb的使用

下面我们来看下这个配置的一些参数,这一部分其实默认即可,不用怎么修改

stm32usb转串口,stm32usb的使用

继续看设备描述

stm32usb转串口,stm32usb的使用

这里我们看下插上电脑的设备,已经可以正常运转了,就是正常监测到我们我们刚才设置的端口了

stm32usb转串口,stm32usb的使用

这个时候我们就可以用虚拟串口收发函数来进行测试了

stm32usb转串口,stm32usb的使用

将程序*载下**到开发板,可以看到效果如下:

stm32usb转串口,stm32usb的使用

当然我们也可以用对他进行格式化包装,让他可以像prinf一样的工作,封装的代码如下所示:

stm32usb转串口,stm32usb的使用

这样我们就可以在主函数中进行调用了

stm32usb转串口,stm32usb的使用

2、在stm32F4上进行

这里如果也是按照就是原设定的步骤的话不太成功,会出现就是找不到设备的问题,采用的f4的板子上采用USB连接图如下:

stm32usb转串口,stm32usb的使用

3、大容量设备

stm32内部Flash读写

sd卡读写移植记录

这里我们再来看下他的这个USB功能描述:

stm32usb转串口,stm32usb的使用

访问内部flash

看下keil的,编译情况如下,那么它所占的的内存为14236+344=14580的大小,这个单位是字节,那么换算成我们熟悉的点来说就是:14580/1024=14.238KB

stm32usb转串口,stm32usb的使用

这里我们可以看下另一个cubeide的工程:

stm32usb转串口,stm32usb的使用

详细的解释

stm32usb转串口,stm32usb的使用