码迷,mamicode.com
首页 > 其他好文 > 详细

USB小白学习之路(4)HID键盘程序

时间:2017-12-23 15:58:27      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:技术分享   div   使用   family   直接   传输   lock   执行   修改   

HID键盘程序

1. 特别注意

需要特别注意,各个例程中的设备描述符,配置描述符等各种描述符都是已经配置好了的,我们需要做的只是在例程中将代码修改为自己需要的部分即可,一般情况下是不可以串搭配的。

2. 程序解析

此程序使用的是端口1中断,进行数据的传输。

此程序的用户核心部分为periph.c文件中的“初始化函数TD_init()”和“循环执行函数TD_pull()”。

1可知,开发板上的两个按键S1S2和两个LEDD4D5都是接在端口PE上的。

 技术分享图片

开发板原理图

TD_init()函数就是完成对端口PE的初始化,以及端口1的中断使能。

TD_pull()函数就是通过检测PE4PE5电平的变化,来向上位机传送相应的代码。同时,检测端口1中断数据,通过控制PE0PE1的电平高低进行相应。

3. 实验验证

在通过Cypress USB Consloe给开发板烧录之后,就不能通过Cypress USB Console检测开发板了,因为这时已经被配置为HID设备,Cypress USB Console不能检测HID设备。

此时开发板上的S1S2分别对应ashift按键,可以通过在文档中输入检测。在键盘板上按Caps LockNum按键,开发板上的D4D5会随着键盘板上的灯同样变化。

在这里可以得出结论,我们USB键盘板上的灯不是通过键盘板上的按键直接控制的,而是上位机检测到键盘板上的按键被按下,然后给键盘发送一个命令,来控制键盘板上的指示灯亮灭的。

USB小白学习之路(4)HID键盘程序

标签:技术分享   div   使用   family   直接   传输   lock   执行   修改   

原文地址:http://www.cnblogs.com/kybyano/p/8093394.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!