基于stm32的USB模拟UART的实现

基于stm32的USB模拟UART的实现

本文目标:基于stm32的USB模拟UART的实现

按照本文的描述,应该可以在对应的硬件上通实验并举一反三。

先决条件:拥有C语言基础,装有编译和集成的开发环境,比如:Keil uVision5

使用外设:USB、USART1、GPIO

HAL库版本:STM32H5xx HAL Driver version number 1.1.0

STMCubeMX版本:6.10.0

Keil uVision5版本:V5.38.0.0

实验目的

记录项目学习,学习在项目中进行的USB虚拟UART编程,体验串口的高效接收,设计一个实验,实现基于usb模拟的串口实验。

场景使用原理图

在我的应用场景中,原理图的内容如下:

在这里插入图片描述

在这里插入图片描述

基于以上的原理设计,使用usb接口进行接口通讯实验。usb是一个复杂的外设,笔者并没有深入研究,我这里也只是进行简单记录,设计一个实验将USB发来的数据,通过显示屏进行显示。

USBX 组件

使用一个开源的组件来辅助这次的实验。

参考:https://wiki.stmicroelectronics.cn/stm32mcu/wiki/Introduction_to_USBX

关于USBX :USBX 是 Azure®RTOS USB 主机和 USB 设备嵌入式堆栈。它与 ThreadX 紧密耦合。在某些类中,它需要 FileX 和 NetX Duo 堆栈。它允许使用具有多种配置的 USB 设备、复合设备和USB OTG 进行操作。它支持 USB 电源管理。USBX 为 USB 主机和 USB 设备堆栈提供了大量的 USB 类。一旦低级驱动程序能够响应USBX 请求,模块化架构就可以更容易地移植到不同的 USB 硬件 IP 上。所有 STM32 USB IP(主机、设备、OTG、高速和全速)均由 USBX 通过通用 STM32 HAL驱动程序 API 透明支持。

USBX 分为三层,如下图所示:

① 控制器层:最底层,USB 设备控制器的驱动程序,通常是 HAL 库

② stack

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独处东汉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值