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

Posted kybyano

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了USB小白学习之路HID键盘程序相关的知识,希望对你有一定的参考价值。

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小白学习之路HID键盘程序的主要内容,如果未能解决你的问题,请参考以下文章

USB小白学习之路 通过自定义请求存取外部RAM

USB小白学习之路 Cypress固件架构解析

USB小白学习之路端点IN/OUT互换

USB小白学习之路 CY7C68013A Slave FIFO模式下与FPGA通信

(转)USB小白学习之路(12) Cy7c68013固件之Slave FIFO

(转)USB小白学习之路(11) Cy7c68013驱动电路设计注意事项