基于 NXP QN9080 USB 多媒体按键实现

一、        概述

本篇文章将介绍如何将 SDK 上添加键盘多媒体按键的功能,实现控制电脑音量、亮度调节

二、        环境搭建

2.1 SDK 下载

本文基于 NXP QN9080 IC,SDK 可在 NXP 官网 https://mcuxpresso.nxp.com 下载

2.2 硬件

本文基于 QN9080 DK 板进行开发,DK 板如图 2.2 所示

图 2.2

2.3 开发软件

SDK 支持 IAR 、 Keil 、 MCUXpreeso IDE 三种开发软件、本文以 IAR 为开发环境作为介绍

三、        工程移植

在 SDK_2.2.0_QN908XCDK\boards\qn908xcdk\usb_examples\usb_device_composite_hid_mouse_hid_keyboard\freertos 工程上已经实现 USB 键盘鼠标的功能,我们可在此工程上添加功能

3.1  Report Map 修改

键盘按键包括普通按键、控制按键、多媒体按键,在 SDK 例程 usb_device_descriptor.c 中已添加普通按键、控制按键的 Report Map,如图 3.1 中 ① 所示,在此处添加多媒体的 Report Map ,由 Report ID 区分,如图 3.1 中 ② 所示,普通键 Report ID 为 0x01,多媒体按键的 Report ID 为 0x02



图 3.1

3.2 修改Report Map大小

Report Map 增加了多媒体,需要相应修改数组大小,在usb_device_descriptor.h中将 Map数组大小增加 29,如图 3.2 所示



图 3.2

3.3 修改发送内容

在 hid_keyboard.c 中修改发送内容,多媒体的 Report ID 为 0x02,放在 buff 0 。本次测试多媒体静音的功能,音量加和音量减可修改对应得键值实现。静音的键值为 0xe2,放在 buff 1,发送长度大小为 3 Byte,修改后如图 3.3 所示

图 3.3

 

3.4 测试结果

测试硬件为 DK 开发板,烧录代码后,USB 线接 J1 USB 口,可在电脑上看到静音的图标,如图 3.4 所示

图 3.4

四、        总结

本文介绍了如何在 SDK 工程添加 USB多媒体按键的功能,在键盘产品开发中可根据此文档进行参考,更多关于键盘开发资料可关注大联大~大大通博文专区

 

五、        参考文献

【1】《 Device class Definition for Human Interface Devices 》

【2】《 MCUXpresso SDK USB Stack Composite Device User's Guide 》

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论