
USB开发技术
文章平均质量分 59
USB 协议学习、开发笔记
zhangsz_sh
学以致用
展开
-
USB协议学习笔记 - HID 设备
前言为了尽快的熟悉USB的使用,我没有通读USB2.0的规格书,这是初步的了解的USB协议的各个描述符学习新技术,要先有个感官的认识,再深入学习,或许也是一种好的方法这里先学习USB HID设备(类似于鼠标),对USB设备的工作有个感觉平台搭建STM32L475,使用STM32CubeMX快速搭建一个USB的HID 设备环境打开:STM32CubeMX,选择:STM32L475VE工程验证使用Keil MDK5 打开工程,编译下载,发现,电脑枚举USB HID设备原创 2022-02-04 10:26:28 · 2325 阅读 · 0 评论 -
USB协议学习笔记 - 引言
概述最近想基于STM32,做个USB设备,但是搜索了下,USB的资料比较少,并且相关的书籍,也是比较的少,所以,打算系统的学习下USB协议相关的技术。USB 的官方网站:https://usb.org/USB 2.0 手册下载地址https://usb.org/document-library/usb-20-specification如何学习初步的看了下USB 2.0的规格书,发现内容还是比较的齐全,但是看完后,依旧不清楚如何去真正的开发一个USB设备,USB上位机如何设计,STM32 US原创 2022-02-01 19:23:22 · 1611 阅读 · 0 评论 -
USB协议学习笔记 - 虚拟串口Virtual Port Com用于LOG打印
前言上一篇讲了STM32 USB 虚拟串口的功能实现,可以通过STM32输出信息到PC端这篇简单的做个应用:打印LOG(日志)信息到虚拟串口操作方法基于上篇的STM32 USB Virtual Port Com 例程,把USB的发送,改为字符串输出这里使用标准C库的:vsnprintf函数,目的是格式化打印字符串到指定的数组#include "main.h"#include "usb_device.h"#include "usbd_cdc_if.h"#include <std原创 2022-02-08 21:57:49 · 1406 阅读 · 0 评论 -
USB协议学习笔记 - CDC类虚拟串口Virtual Port Com
描述USB 的功能还是比较的复杂,这里主要了解USB CDC类(Communication Device Class)实现的虚拟串口 【Virtual Port Com】学习的思路依旧是先用起来,再去针对性的熟悉USB相关的协议USB转串口,是的,本篇就是实现这个功能平台搭建STM32平台:STM32L475,当然其他的STM32系列拥有USB接口的依旧可以拿来验证这里使用 STM32CubeMX 快速搭建USB的学习环境这里主要为:USB Device, 选择USB组件:【Virtua原创 2022-02-07 22:23:48 · 9000 阅读 · 0 评论 -
Win10 64位安装FabulaTech USB Monitor Pro Version 2.8的问题解决
问题描述Win10 64位,直接双击安装 FabulaTech USB Monitor Pro Version 2.8 的安装包:usb-monitor-pro.msi,发现安装失败重启电脑后,发现安装依旧失败解决方法经过搜索,发现是Win10 权限问题,安装 msi文件,需要使用管理员权限这里使用 cmd.exe 安装(管理员模式)管理员打开cmd.exe后,进入安装文件的目录,执行 命令 msiexec /package usb-monitor-pro.msi安装成功小结原创 2022-02-06 22:24:26 · 1393 阅读 · 0 评论 -
USB协议学习笔记 - CUSTOM HID 设备
简介这里使用STM32平台进行USB 协议的学习与USB 设备的调试开发USB HID设备,协议较固定,无法实现数据的自由接收与发送USB CUSTOM HID设备(自定义HID协议)可以实现简单的USB 数据双向收发环境搭建这里使用STM32L475开发板使用:STM32CubeMX 生成一个STM32L475的工程,这部分的操作可以查看上一篇USB HID 设备的文章这里分别选择:USB Device 与 Custom Human Interface Device Class原创 2022-02-05 23:06:10 · 6623 阅读 · 1 评论 -
USB协议学习笔记 - CUSTOM HID控制LED
简介前面了解了 STM32 CUSTOM HID 设备,但是有几个细节没有处理好,如接收到主机的报告后,如何接收到指定的数组,并实现通信功能,如控制LED亮灭?还有就是CUSTOM HID设备的【报告描述符】,是否可以多【描述】几个,我控制几个LED灯,可能几个字节就可以了,不需要上来就发送【64字节】USB HID接收使用STM32CubeMX 生成的 USB custom hid 功能,我仔细看了下,能接收 USB主机(电脑端)报告的函数接口为usbd_custom_hid_if.c 中的原创 2022-02-06 13:55:24 · 5412 阅读 · 0 评论 -
USB协议学习笔记 - 虚拟串口Virtual Port Com LED控制
前言STM32 的USB 可以虚拟成一个串口,功能还挺强,感觉比HID好用这里使用USB 虚拟的串口,做个控制LED的小程序控制LED这里使用自定义的AT命令方式,如红灯亮:AT+LEDR_ON,红灯灭:AT+LEDR_OFF程序如下首先STM32 USB虚拟成串口的操作,参考前面的文章LED.c#include "led.h"/* all LEDS gpio init */void leds_gpio_init(void){ GPIO_InitTypeDef GPIO原创 2022-02-08 22:59:26 · 3834 阅读 · 2 评论