Descriptor即描述符,是一个完整的数据结构,可以通过C语言等编程实现,并存储在USB设备中,用于描述一个USB设备的所有属性,USB主机是通过一系列命令来要求设备发送这些信息的。它的作用就是通过如问答节中的命令***作来给主机传递信息,从而让主机知道设备具有什么功能、属于哪一类设备、要占用多少带宽、使用哪类传输方式及数据量的大小,只有主机确定了这些信息之后,设备才能真正开始工作,所以描述
【原创】计算机中USB串口列表、友好名称及端点号的查找方法一、获得计算机的串口列表,一般用两种方法:1. 循环法 1-256, 用Windows API一个个打开,返回不存在信息的删掉,其它保留。这个方法很笨,但确定都是正确的。2. 查询注册表,得到串口列表。这个方法很快,但有时不正确(可能会多,只多不少)。例如超级终端打开,占用了一个USB串口,你不关闭超级终端,但把USB串口强行拔掉。这时用查
背景STM32的很多系列都带有USB功能,USB的作为通用接口,可以减少一些用户在使用RS232时所用的一根转换线。 但是USB复杂的协议提高了使用USB的入门门槛,一般人要完全了解USB协议就需要花很多时间。实际应用中也不可能在完全学习了USB的所有知识才开始做应用。 不过ST为我们封装好了USB的栈代码,可以使我们在不了解USB的协议的情况,只需使用几个API就可以快速使用USB功能。 这篇我
STM32HAL库,处理虚拟串口数据(全双工处理 )今天给大家讲的HAl下面虚拟串口数据开发,解决量产板子串口硬件问题,解决串口不不够用的情况。废话不多说,先说说串口UART,相信各位在开发中应该用的非常多。功能配置这些我都不做详细介绍了。里面的一个配置需要注意下那就是波特率。虚拟串口需要用软件模拟出这个调度时间。本篇文章参照借鉴该连接有兴趣的朋友可以去看看: 下见串口示例图:下面是每一
转载自: 百度网盘内容存在,本人测试例程可用,并转载保存,以便日后学习移植方法与思路。以下为转载博主思路与方法: 串口调试在项目中被使用越来越多,串口资源的紧缺也变的尤为突出。很多本本人群,更是深有体会,不准备一个USB串口工具就没办法进行开发。本章节来简单概述STM32低端芯片上的USB虚拟串口的移植。在官方DEMO中已经提供了现成的程序,这里对修改方法做简单说明。&nbs
转载 2024-09-30 18:01:37
506阅读
STM32F4驱动USB实现虚拟串口实现目的使用Dap-link和stlink的时候,就发现这些仿真器上并没有USB转TTL芯片,就可以实现USB串口,实现虚拟串口,非常方便。这里实测得出,使用USB虚拟串口,可以轻松达到921600波特率,接近1M/s,因为这个虚拟串口实际就是USB通讯,使用USB通讯,模拟COM类通讯端口协议,实现串口通讯。这个功能主要用于实现单片机通过USB线同上位机通讯
串口通信串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。VSPD虚拟串口工具在硬件缺失的情况下,要想测试代码使用的是否正确。就需要使用VSPD虚拟
使用USB串口设备或多个USB串口设备级联扩展多串口时,会经常遇到USB设备插拔顺序不固定、插入的USB主机口位置不固定、系统重新开机等操作导致设备对应串口号发生改变,影响产品使用的情况。Windows系统固定串口号在Windows系统上对于此需求推荐使用内置USB Serial Number(USB串行序列号)的USB串口芯片,可实现同一物理设备在系统上分配的串口号固定不改变。原理如下:W
MCU:STM32F103VET6开发环境:STM32CubeMX+MDK5 实现USB虚拟串口不需要去理解USB的底层驱动,只需要STM32CubeMX去配置生成工程即可。在野火的指南者中,是没有这一类的视频和示例的,博主使用这款开发板实现USB虚拟串口。首先需要打开STM32CubeMX工具。输入开发板MCU对应型号,找到开发板对应封装的MCU型号,双击打开(图中第三)。&nbsp
转载 2023-12-05 22:51:06
245阅读
以下内容无关:-------------------------------------------分割线---------------------------------------------Viewport Transform(视口变换) 将经过MVP变换后得到的单位空间模型变换到屏幕上,屏幕左边是左下角为原点。 在这里插入图片描述 所以视口变换的矩阵Mviewport=⎛⎝⎜⎜⎜⎜⎜wid
转载 2023-11-09 22:32:12
134阅读
使用方法:https://jingyan.baidu.com/album/5553fa82c615ba65a3393471.html?picindex=10软件下载:https://www.jb51.net/softs/618416.html虚拟串口是计算机通过软件模拟的串口,当其它设计软件使用串口的时候,可以通过调用虚拟串口仿真 模拟,以查看所设计的正确性软件设置界面: 单击 软件右边的 Ad
转载 2024-05-03 22:46:04
493阅读
1. USB虚拟串口简介USB虚拟串口属于USB通信设备类。在物理层通过USB总线,采用虚拟串口的方式为主机提供一个物理串口。在系统内部,USB控制器提供了一个批量传输IN端点和一个批量传输的OUT端点,用于数据的接收和发送,模拟串口的RX和TX线。另外USB控制器还提供中断IN端点,发送当前串口的状态,实现对串口传输的控制。串口设备的数据,由系统的串口采集,在芯片内完成USB包的封装,通过USB
原创 2017-11-24 15:06:54
10000+阅读
文章目录 #第一步 配置外设IO和模式 配置RCC时钟,我们选择高速时钟由外部25MHz的晶振提供。 配置SYS的Debug为Serial Wire 配置USART2为异步通信,我本来是想用串口1的,但是串口1和USB_OTG_FS会引起冲突,USART2还好。 由于我的板子上没有高速PHY的USB芯片,所以我们只能选择USB_OTG_FS,这种模式为USB全速模式,最大速度
转载 2024-07-12 06:48:22
130阅读
USB 虚拟串口简介1. USB虚拟串口简介2.usb gadget 串口(serial)的配置和使用3.USB中CDC-ECM的了解和配置1. USB虚拟串口简介USB虚拟串口属于USB通信设备类。在物理层通过USB总线,采用虚拟串口的方式为主机提供一个物理串口。在系统内部,USB控制器提供了一个批量传输IN端点和一个批量传输的OUT端点,用于数据的接收和发送,模拟串口的RX和TX线。另外USB
转载 2024-05-02 10:19:09
964阅读
拿到论坛的STM32F303RE的板子后,我的电脑就一直无法安装Stlink虚拟出来的那个串口,只能枚举出来Stlink下载和模拟U盘的设备,试了很多方法都不行。因为我的电脑之前还正确安装过ST的其他系列的片子上USB模拟的虚拟串口,而安装驱动的本质就是使用ST的那个INF作为引导程序加载系统的USB驱动,所以就感觉到比较纳闷,为何其他的板子可以而这个板子又不行。今天把另外一个板子的虚拟串口插到电
虚拟串口设备驱动,虚拟串口的完整源代码,包括注释和开发日志。据说市值5万人民币!Virtual Serial Device DriverWindows2K下虚拟串口设备驱动程序及相关应用程序内容列表===========主要功能使用说明各模块说明工作机制更新和改进不足之处跟我联系主要功能===========在Windows2K操作系统上虚拟出若干串口设备,这些虚拟串口设备作为 TDI Clien
之前使用ST官方的库以及网络的资料,完成了使用USB HID类进行STM32和PC机的通讯。由于其他原因并没有深入的分析,虽然实现了功能,但是关于USB设备的枚举,以及具体的通讯方式都没有清晰的概念,所以现在回头重新学习USB相关知识。主要参考资料是《圈圈教你玩USB》、USB枚举过程图解,ST官方的USB HID例程。一,USB数据包USB总线上的数据传输以包为基本的单位。USB协议规定了四种
转载 1月前
342阅读
为什么使用CubeMX和HAL库?博主之前一直习惯使用标准库,是因为大一刚接触单片机是从stm32f103zet6入门的,当时是买了80元的开发板,看的正点原子的标准库教学视频。因为正点原子的代码比较全面,一些基本外设使用例程都有,于是自己一直依赖标准库和例程。虽然长时间的使用对标准库的操作已经较为熟悉,但是回头想想,如果让我手敲GPIO初始化,可能也能敲出,但是效率肯定不会很高(其中有一个原因其
转载 2024-10-26 23:06:27
373阅读
STC USB-CDC 虚拟串口使用✨目前该功能只能在STC8和STC32G单片机上实现该功能。比起WCH的单片机,这一点要远强于STC的USBCDC功能了。WCH随便一个8位单片机上都可以跑其该功能。?如果该功能在使用时,出现不稳定,容易丢失端口号又重启出现,请检查连接器是否可靠,特别是micro-usb连接座。?在实际效果测试中该功能并不是很稳定,端口易丢失重启,偶尔又正常,如果较长时间
C语言中printf是个功能强大的函数,可以打印各种格式的数据。在单片机程序调试时,
原创 2022-10-18 17:32:18
1158阅读
  • 1
  • 2
  • 3
  • 4
  • 5