logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

XINPUT协议模拟-基于STM32F103C8T6-正文1

本项目基于STM32F103C8T6开发板模拟Xbox360手柄,通过STM32CUBE MX配置实现基础控制、震动和LED功能。文章详细介绍了USB设备枚举为Xbox手柄的过程,包括修改设备描述符、配置描述符和字符串描述符。项目分为四个主要部分:USB设备枚举、IN端点数据发送、OUT端点数据接收以及硬件驱动实现。作者在GitHub开源项目基础上进行了功能补全和优化,增加了OUT端点功能,并配套

文章图片
#stm32
XINPUT协议模拟前序2-USB协议栈之设备新手入门

本文介绍了如何通过修改USB设备描述符和配置描述符,使STM32单片机模拟Xbox 360手柄被系统识别。主要内容包括:1) USB设备端的描述符结构解析,重点说明设备描述符、配置描述符和接口描述符的定义与作用;2) 详细的操作步骤,包括在STM32CubeMX创建Custom HID工程,修改usbd_desc.c和usbd_customhid.c文件中的描述符数据;3) 指出仅需正确实现设备描

文章图片
#单片机#stm32
XINPUT协议模拟前序1-USB协议栈之通信新手入门

本文通过分析Xbox手柄的USB协议数据,梳理了USB通信的分层结构(域→包→事务→传输)和关键流程。作者使用wireshark和usbpv工具抓取数据,重点解析了上电复位、SOF帧同步、设备描述符获取等过程。文章详细说明了USB的五种基础包类型(SETUP/IN/OUT/DATA0/DATA1)及其组合方式,特别强调事务层(SETUP/IN/OUT)与传输层的区别,以及端点(Endpoint)的

文章图片
#stm32
74HC165三线驱动和四线驱动及HAL库示例

本文介绍了74HC165移位寄存器的使用指南。首先讲解了引脚定义:CE(片选)、PL(并行加载)、CLK(时钟)和Q7(串行输出)的功能。接着详细说明四线和三线驱动方法,包括级联连接方式。然后提供了一个兼容三线/四线、支持多片级联的C语言驱动程序,包含初始化函数和数据采集函数。最后通过实测对比了两种数据采集方法的执行时间(约58.9μs),推荐根据默认电平状态选择更高效的位操作方式。文中还附带了关

文章图片
#单片机
到底了