STM32的USB键盘及鼠标例程通过网络可以搜到很,但是在同一个设备中集成键盘及鼠标的例程却比较少见(我通过GOOGLE只搜到圈圈的基于51D12的版本)。以下为我参考圈圈的例程做出来的集成键盘及鼠标的STM32的程序。 程序上除了usb_desc.c及usb_endp.c外,其它部份同单一的键盘鼠标一样。下面着重说一下usb_desc.c及usb...
intmain(){sysInit();//BTK05_Wake();//唤醒BTK05while(1){if(g_USBModeFlag)//USB模式下{if(sleepTime1SCounter<=1000){myKeyBoard_ScanKeyAndUpdataATBuffer();//键盘事件更新if(g_myKeyBoard_DataWaitForUploadFlag==1){g_myKeyBoard_DataWaitForUploadFlag=0;if(bDeviceState==CONFIGURED)//如果连接上...
上面提到了,之前是鼠标描述符,长度74,现在改成键盘描述符,长度63. 4 生成键盘的报告描述符 把USB鼠标的报告描述符删掉,换成USB键盘的报告描述符。 不会写USB键盘的报告描述符怎么办? USB官方提供了一个USB报告描述符自动配置的工具,打开!里面有各种例程,我们直接复制一个USB键盘的报告描述符即可。 生成.h文件如...
点击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...
这里要说一下,实现鼠标键盘二合一的功能,方法有多种,这里只说其中一种。 少废话,开始干! 首先,在5.3.0版本的STM32CubeMX上选择STM32F103C8T6芯片。具体操作和USB鼠标的操作一样,这里就不重复了。 同理,VID和PID要和之前的设备不一样。设置完成以后,直接生成工程。
实现用STM32模拟一个USB键盘连接PC的功能 1 STM32CubeMX配置 1.1 USB接口配置 单片机做从机,所以...
参考的b站usb鼠标开发视频:https://www.bilibili.com/video/BV1XY4y1e7XQ 参考的b站usb键盘开发视频:https://www.bilibili.com/video/BV1CL4y157Wg 开发环境:stm32cubeide 主控芯片硬件:stm32f103rct6 外设:引出了usb接口,gpio 实物:按键,usb连接线,stlink ...
USBD_HID_SendReport(&hUsbDeviceFS,(uint8_t*)&MouseData,sizeof(MouseData)); } 二、USB键盘 1、CubeMX配置同鼠标,这里不啰嗦了 2、在mouse的基础上修改为keyboard的 参考:基于STM32CUBE的USB键盘例程 | MCU起航 (mcublog.cn) 主要就是以下几点: ...
2、USB键盘 这里就避不开这个设备描述符了,这里还是说明下吧,设备描述符就像一个身份证一样,它包含了这个USB设备的全部信息,说明了USB设备的通用信息,包含应用到全部设备和所有设备配置的信息。USB设备只有一个设备描述符。设备描述符是在设备连接时主机读取的第一个描述符。设备描述符所含的信息,被主机用来取得设备...