stm32 hid自定义接收发送程序开发过程记录

cubleMX配置如下

修改端点描述符一次传输的数据大小

根据cubelMX标准在这里修改

编译错误

直接修改(因为没有使用nodef )编译通过

修改报告描述符(默认的描述符无法传输数据)

参考:USB协议详解第10讲(USB描述符-报告描述符)-CSDN博客https://blog.csdn.net/weiaipan1314/article/details/112504129

USB鼠标HID描述符以及数据格式_hidusb输出的数据类型-CSDN博客https://blog.csdn.net/wingceltis/article/details/103114696

实际输入的内容

对应代码

cpp 复制代码
0x05, 0x01, // USAGE_PAGE (Generic Desktop)
    0x09, 0x00, // USAGE (none)
    0xa1, 0x01, // COLLECTION (Application)   
    0x05, 0x01, // #1 USAGE_PAGE (Generic Desktop)
    0x09, 0x30, // USAGE(x)
    0x15, 0x00, // LOGICAL_MINIMUM (0)
    0x25, 0xFF, // LOGICAL_MAXIMUM (255)
    0x75, 0x08, // REPORT_SIZE (8)
    0x95, 0x40, // REPORT_COUNT (64)
    0x81, 0x02, // INPUT (Data,Var,Abs)
    0x05, 0x01, // #2 USAGE_PAGE (Generic Desktop)
    0x09, 0x31, // USAGE(y)
    0x15, 0x00, // LOGICAL_MINIMUM (0)
    0x25, 0xFF, // LOGICAL_MAXIMUM (255)
    0x75, 0x08, // REPORT_SIZE (8)
    0x95, 0x40, // REPORT_COUNT (64)
    0x91, 0x02, // OUTPUT (Data,Var,Abs)
    0xc0 // END_COLLECTION

修改设备描述符大小为35(上面一共35个字符)

hid收发工具

【分享】一个HID数据收发调试工具 (stmicroelectronics.cn)https://shequ.stmicroelectronics.cn/thread-613811-1-1.html

使用CubeMX 生成 USB从机 Custom HID 工程(STM32F407ZE )_stm32f407 hid bug-CSDN博客https://blog.csdn.net/u014285530/article/details/117931003

修改发送函数

修改发送buf大小(注意必须在此处修改)

错误的修改位置(由于原有模板已经在外部定义了此参数,因此不能再这里修改,否则会出错,程序死机)

正确配置之后的通信测试

参考链接stm32 USB系列-HID开发_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1TR4y1V7ps/?spm_id_from=333.788&vd_source=e821a225c7ba4a7b85e5aa6d013ac92e

特此记录

anlog

2024年4月26日

相关推荐
march_birds2 小时前
FreeRTOS 与 RT-Thread 事件组对比分析
c语言·单片机·算法·系统架构
触角010100014 小时前
STM32F103低功耗模式深度解析:从理论到应用实践(上) | 零基础入门STM32第九十二步
驱动开发·stm32·单片机·嵌入式硬件·物联网
昊虹AI笔记5 小时前
使用STM32CubeMX和Keil在STM32上创建并运行一个简单的FreeRTOS多任务程序
stm32·单片机·嵌入式硬件
王光环5 小时前
单片机使用printf,不用微库
单片机·嵌入式硬件
西城微科方案开发6 小时前
体重秤PCBA电路方案组成结构
单片机·嵌入式硬件
深圳市青牛科技实业有限公司6 小时前
「青牛科技 」GC4931P/4938/4939 12-24V三相有感电机驱动芯片 对标Allegro A4931/瑞盟MS4931
科技·单片机·扫地机器人吸尘·筋膜枪电机·驱动轮电机·服务机器人驱动轮电机·工业机器人减速电机
Qingniu017 小时前
「青牛科技」GC5849 12V三相无感正弦波电机驱动芯片
科技·单片机·嵌入式硬件·cpu散热风扇·vga显卡散热风扇·rgb机箱散热风扇·水冷泵及散热风扇
charlie1145141917 小时前
STM32F103C8T6单片机硬核原理篇:讨论GPIO的基本原理篇章1——只讨论我们的GPIO简单输入和输出
c语言·stm32·单片机·嵌入式硬件·gpio·数据手册
阿让啊7 小时前
bootloader+APP中,有些APP引脚无法正常使用?
c语言·开发语言·stm32·单片机·嵌入式硬件
可待电子单片机设计定制(论文)9 小时前
【51单片机】基于单片机的智能门禁系统设计
单片机·mongodb·51单片机