stm32实现hid键盘

这篇具有很好参考价值的文章主要介绍了stm32实现hid键盘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 前面的cubelmx项目配置参考

stm32实现hid鼠标-CSDN博客https://blog.csdn.net/anlog/article/details/137814494?spm=1001.2014.3001.5502两个项目的配置完全相同。

代码

引用

stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘

键盘代码:

stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘

替换hid设备描述符

先屏蔽鼠标设备描述符

stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘

替换为键盘设备描述符

stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘

修改宏定义

stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘

 修改大小为63U

stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘

 运行后如下图

stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘

参考链接

参考宝藏ub主

3分钟,教会你做键盘。使用STM32 USB的HID 方式制作一个键盘_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1dA4m1c7VE/?spm_id_from=333.999.0.0&vd_source=e821a225c7ba4a7b85e5aa6d013ac92e

HID键盘设备 - 哔哩哔哩 (bilibili.com)https://www.bilibili.com/read/cv33532705/?spm_id_from=333.999.0.0stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘

 stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘

stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘

/*

* buffer[0] - bit0: Left CTRL

*           -bit1: Left SHIFT

*           -bit2: Left ALT

*           -bit3: Left GUI(win)

*           -bit4: Right CTRL

*           -bit5: Right SHIFT

*           -bit6: Right ALT

*           -bit7: Right GUI ()

* buffer[1] - Padding = Always 0x00

* buffer[2] - Key 1

* buffer[3] - Key 2

* buffer[4] - Key 3

* buffer[5] - Key 4

* buffer[6] - Key 5

* buffer[7] - Key 6

*/




/*修改usbd_hid.c中的报告设备描述符*/

__ALIGN_BEGIN static uint8_t HID_MOUSE_ReportDesc[HID_MOUSE_REPORT_DESC_SIZE] __ALIGN_END =

{

0x05, 0x01, // USAGE_PAGE (Generic Desktop) //63

0x09, 0x06, // USAGE (Keyboard)

0xa1, 0x01, // COLLECTION (Application)

0x05, 0x07, // USAGE_PAGE (Keyboard)

0x19, 0xe0, // USAGE_MINIMUM (Keyboard LeftControl)

0x29, 0xe7, // USAGE_MAXIMUM (Keyboard Right GUI)

0x15, 0x00, // LOGICAL_MINIMUM (0)

0x25, 0x01, // LOGICAL_MAXIMUM (1)

0x75, 0x01, // REPORT_SIZE (1)

0x95, 0x08, // REPORT_COUNT (8)

0x81, 0x02, // INPUT (Data,Var,Abs)

0x95, 0x01, // REPORT_COUNT (1)

0x75, 0x08, // REPORT_SIZE (8)

0x81, 0x03, // INPUT (Cnst,Var,Abs)

0x95, 0x05, // REPORT_COUNT (5)

0x75, 0x01, // REPORT_SIZE (1)

0x05, 0x08, // USAGE_PAGE (LEDs)

0x19, 0x01, // USAGE_MINIMUM (Num Lock)

0x29, 0x05, // USAGE_MAXIMUM (Kana)

0x91, 0x02, // OUTPUT (Data,Var,Abs)

0x95, 0x01, // REPORT_COUNT (1)

0x75, 0x03, // REPORT_SIZE (3)

0x91, 0x03, // OUTPUT (Cnst,Var,Abs)

0x95, 0x06, // REPORT_COUNT (6)

0x75, 0x08, // REPORT_SIZE (8)

0x15, 0x00, // LOGICAL_MINIMUM (0)

0x25, 0x65, // LOGICAL_MAXIMUM (101)

0x05, 0x07, // USAGE_PAGE (Keyboard)

0x19, 0x00, // USAGE_MINIMUM (Reserved (no event indicated))

0x29, 0x65, // USAGE_MAXIMUM (Keyboard Application)

0x81, 0x00, // INPUT (Data,Ary,Abs)

0xc0,       // END_COLLECTION

};





#include “usbd_hid.h” 文件中的申明文件,修改一下。


#define HID_MOUSE_REPORT_DESC_SIZE    63U 

HID Usages and Descriptions (gitee.com)https://gitee.com/siyu233/Stm32Code_1/raw/master/USB_HID_keyboard/hut1_HID_22.pdf

 stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘

stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘 stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘

stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘 stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘

 stm32实现hid键盘,笔记,计算机外设,hid键盘,stm32键盘,stm32 hid键盘,键盘

 学习过程

特此记录

anlog

2024年4月16日文章来源地址https://www.toymoban.com/news/detail-854412.html

到了这里,关于stm32实现hid键盘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机外设:显示器是如何工作的?

            本节我们将了解计算机的外设之一:显示器的底层工作原理。通过本节,你会知道电脑显示器是如何实时展示我们在计算机上的操作的,比如显示出一张“E”的字符。最后总结了计算机编程的本质,就是人们是通过设计,让字节代表不同的含义而已。        

    2024年02月09日
    浏览(40)
  • 第10课【STM32 USB通讯协议实战】HID键盘+CDC虚拟串口组合设备

    文章中的部分概念可参考第9课【USB协议】USB总线 接口 端点 管道 数据包 枚举 STM32_USB-FS-Device_Lib V4.1.0 USB协议中为了提供对多样设备的支持,定义了许多外部设备子类,常见的包括: 人机交互类设备HID(Human Interface Device) 通信类设备CDC(Communicate Device Class) 大容量存储设备

    2024年02月04日
    浏览(50)
  • stm32 USB复合设备 cubeMX库一键生成 多路CDC串口 HID鼠标键盘 Composite Device

    最近有个需求,需要同时用usb键盘鼠标和虚拟串口等,因为平时没怎么研究过usb协议,所以自己写复合设备一直没有成功,然后正巧在github上看到了一个stm32的一个usb复合设备库,可以快速配置usb组合设备,并且支持超级多路串口 Gihub地址 https://github.com/alambe94/I-CUBE-USBD-Compo

    2024年02月09日
    浏览(51)
  • stm32实现hid鼠标

    启动CubelMX 选择芯片(直接输入stm32f103zet6) 设置时钟 如下图 usb设置 配置usb设备 调试端口设置   配置时钟 项目输出设置 打开工程(后记:此工程含有中文不能编译通过) 配置项目  配置调试器 编译无法通过 删除路径中的中文,以及工程名中的中文。再次生成工程(其他设置

    2024年04月17日
    浏览(25)
  • [计算机入门] 了解键盘

    键盘一般可以根据按键的功能进行分区,一般分为:主键盘区、小键盘区、控制键区、功能键区、指示灯区。下面介绍键盘的各个分区按键及功能。 2.1.1 主键盘区 主键盘区又叫 打字键盘区 或 字符键区 ,具有标准英文打字机键盘的格式。共有 58 个键,包括基本字符键和部分

    2024年02月16日
    浏览(31)
  • 【GD32F427开发板试用】+使用USBFS轻松实现HID键盘应用

    本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站。作者: 不锈钢铁侠 最近有项目需要用到键盘自动输入功能,提升工作效率。故使用该开发板实现自定义输入内容并通过按键控制自动通过usb输出。 在官方GD32F4xx_Firm

    2024年02月12日
    浏览(25)
  • STM32外设GPIO(学习笔记)

    在编写stm32程序时,对寄存器进行操着需要知道每个外设的基地址,标准库的stm32f10x.h文件里也有各种外设的基地址。 比如GPIO:在定义输出数据寄存器地址GPIOA_ODR_Addr时,在GPIOA_BASE(GPIO端口A的基址地址)地址基础上偏移 在stm32f10x.h文件里面有定义GPIOA_BASE,是APB2PERIPH_BASE(

    2024年04月12日
    浏览(32)
  • STM32CubeMX学习笔记(46)——USB接口使用(HID自定义设备)

    USB(Universal Serial BUS)通用串行总线 ,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在 PC 领域的接口技术。USB 接口支持设备的即插即用和热插拔功能。USB 是在 1994 年底由英特尔、康柏、IBM、Microsoft 等多家公司联合提出的。 USB 发展到现在已经有 US

    2024年02月14日
    浏览(33)
  • 【计算机组成 课程笔记】4.2 除法器的硬件实现

     课程链接: 计算机组成_北京大学_中国大学MOOC(慕课) 4 - 5 - 405-除法的运算过程(09-\\\'43--)_哔哩哔哩_bilibili 在加减乘除这样的基本算数运算中,除法是最为复杂的,因此我们想要实现硬件的除法器,还是从最简单的情况开始说起。 回想一下手算除法的过程。这里是两个由0和

    2024年02月09日
    浏览(29)
  • 云笔记小程序的设计与实现计算机毕设

    博主介绍:✌ 专注于VUE,小程序,安卓,Java,python,物联网专业,有16年开发经验,长年从事毕业指导,项目实战✌选取一个适合的毕业设计题目很重要。✌关注✌私信我✌具体的问题,我会尽力帮助你。 目录 研究的背景: 研究或应用的意义: 国外研究现状: 国内研究现状: 研究

    2024年02月22日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包