微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32的USB键盘及鼠标例程

STM32的USB键盘及鼠标例程

时间:07-19 来源:互联网 点击:

据域是独立的,即第一个8bit表示X轴,第二个8bit表示

//Y轴,第三个8bit表示滚轮。Rel表示这些值是相对值。

0x81, 0x06, // INPUT (Data,Var,Rel)

//下面这两个主条目用来关闭前面的集合用。

//我们开了两个集合,所以要关两次。bSize为0,所以后面没数据。

0xc0, // END_COLLECTION

0xc0 // END_COLLECTION

//以下注释不包括第一字节报告ID。

//通过上面的报告描述符的定义,我们知道返回的输入报告具有4字节。

//第一字节的低3位用来表示按键是否按下的,高5位为常数0,无用。

//第二字节表示X轴改的变量,第三字节表示Y轴的改变量,第四字节表示

//滚轮的改变量。我们在中断端点1中应该要按照上面的格式返回实际的

//鼠标数据。

};

// USB String Descriptors

const u8 HID_StringLangID[HID_SIZE_STRING_LANGID]=

{

HID_SIZE_STRING_LANGID,

USB_STRING_DESCRIPTOR_TYPE,

0x09,

0x04

};

const u8 HID_StringVendor[HID_SIZE_STRING_VENDOR]=

{

HID_SIZE_STRING_VENDOR,

USB_STRING_DESCRIPTOR_TYPE,

'S', 0, 'T', 0, 'M', 0, 'i', 0, 'c', 0, 'r', 0, 'o', 0, 'e', 0,

'l', 0, 'e', 0, 'c', 0, 't', 0, 'r', 0, 'o', 0, 'n', 0, 'i', 0,

'c', 0, 's', 0

};

const u8 HID_StringProduct[HID_SIZE_STRING_PRODUCT] =

{

HID_SIZE_STRING_PRODUCT, /* bLength */

USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */

0x34, 0x6c, //水

0x62, 0x97, //面

0x4b, 0x4e, //之

0x0b, 0x4e, //下

0x84, 0x76, //的

0x55, 0x00, //U

0x53, 0x00, //S

0x42, 0x00, //B

0x4b, 0x6d, //测

0xd5, 0x8b, //试

};

u8 HID_StringSerial[HID_SIZE_STRING_SERIAL] =

{

HID_SIZE_STRING_SERIAL, /* bLength */

USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */

0x73, 0x00, //s

0x6e, 0x00, //n

0x69, 0x00, //i

0x63, 0x00, //c

0x5f, 0x00, //_

0x6b, 0x00, //k

0x84, 0x76, //的

0x55, 0x00, //U

0x53, 0x00, //S

0x42, 0x00, //B

0x2e, 0x95, //键

0xd8, 0x76, //盘

};

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top