点击1处,选中后Device(FS),3处选择HID,其他参数默认。 配置USB 时钟 USB时钟需设置为48MHz。 增加堆栈大小,防止溢出 3. 编辑代码 更改为键盘。 设备描述符改为键盘 usbd_hid.c文件中USBD_HID_CfgFSDesc[USB_HID_CONFIG_DESC_SIZ]对应值由0x02改为0x01。 报告描述符改为键盘 usbd_hid.c文件中HID_MOUSE...
USB鼠标HID报告描述符数据格式分析:https://usbzh.com/article/detail-327.html USB键盘的数据结构:https://usbzh.com/article/detail-1086.html 参考的b站usb鼠标开发视频:https://www.bilibili.com/video/BV1XY4y1e7XQ 参考的b站usb键盘开发视频:https://www.bilibili.com/video/BV1CL4y157Wg 开发环境:stm...
创世一号采用STM32F103RCT6主控,整合有锂电池充放电管理,稳压,蓝牙串口HID,USB-HID,LED灯阵列驱动,按键检测电路。可实现蓝牙连接模式(支持IOS、Android等平台),和USB连接模式。蓝牙连接时响应时间约15ms,USB连接模式主控响应时间约为0.3Ms。 靓照如下: 一、准备材料阶段 1.键盘配列 首先做机械键盘,需要了解键盘的配列。
八、打开生成的mdk工程,找到usbd_custom_hid_if.c把设备描述符的复制到 CUSTOM_HID_ReportDesc_FS[USBD_CUSTOM_HID_REPORT_DESC_SIZE] 注意保护区外已经有了一个0xC0所以我们生产的设备描述符可以去掉最后的C0 九、我们把头文件导入到main.c中,写一个数组来测试一下HID键盘 /*USER CODE BEGIN Header*//**...
HID类演示 使用 STM32CubeIDE 或者 STM32CubeMX 可以方便的建立 STM32 USB HID 的项目。这里直接进行...
USB_INTERFACE_DESCRIPTOR_TYPE, 0x00, // 接口编号 0x00, 0x02, // 端点数 0x03, 0x01, // 1 = boot 0 = no boot 0x01, // 0 = none 1 = keyboard 2 = mouse 0, //接口描述符索引值 //***HID 描述符*** 0x09, HID_DESCRIPTOR_TYPE, 0x10, 0x01, 0x00, 0x01, 0x22, HID_SIZE...
USBD_HID_SendReport(&hUsbDeviceFS,txbuffer,8);//发送报文 } 3,在usb_hid.c中,改核心实现代码(将核心从鼠标换成键盘),即修改usb配置数组或修改USB HID设备配置描述符。 4,修改USB HID设备描述符(在usb_hid.c中) 5,定义键盘描述符(在usb_hid.c中) ...
USBD_HID_SendReport(&hUsbDeviceFS,(uint8_t*)&MouseData,sizeof(MouseData)); } 二、USB键盘 1、CubeMX配置同鼠标,这里不啰嗦了 2、在mouse的基础上修改为keyboard的 参考:基于STM32CUBE的USB键盘例程 | MCU起航 (mcublog.cn) 主要就是以下几点: ...
第五,函数USBD_HID_Setup中,需要修改一部分代码: 获取报告描述符的部分,之前这里是鼠标的报告描述符信息,现在换成了键盘的。 6 修改main.c文件 main.c文件中,添加头文件,并定义相关的数组: 代码语言:javascript 复制 /* Private includes ---*//* USER CODE BEGIN Includes */#include"usbd_hid.h"/* US...
1.HID通信的实现 2.使用USB外设 3.使用HID设备 4.配置时钟 5.USB中断放低点 6.生成代码,替换配置描述符 /* USB HID device Configuration Descriptor */ __ALIGN_BEGIN static uint8_t USBD_HID_CfgDesc[USB_HID_CONFIG_DESC_SIZ] __ALIGN_END = ...