- 杂志
 搜 索: 
 论坛 » 嵌入式系统设计 » USB学习板之实战第一个USB程序: USB键盘
广告招商
版主: yaopg , woodhead , 永远在路上
 发表新贴 
 发表回复 
 USB学习板之实战第一个USB程序: USB键盘  发表于 2008-08-20 09:31:06 [您是本帖的第414位阅读者]     [1楼] 
呢称:jinren1010
加我为好友

EDN USB开发板上共有8个按键,功能分别为:
K1:左Ctrl键  K2:左Shift键  K3:左Alt键  K4:0键
K5:1键  K6:2键  K7:Caps Lock键 K8:Num Lock键

按键功能测试:

同时按下K1和K2可做输入法切换,这跟键盘上的两个键功能一样的。
K7可打开大写字母锁定,同时LED2亮起。K8是小数字键盘锁定键,
当数字键盘打开时,LED1亮起,这时可用K4,K5,K6输入数字。
请留意EDN板上的LED会跟你自己的键盘上的LED灯同步。不管按哪块
键盘切换都是如此。不过按住切换键不放,可能会导致两块键盘之间
的LED失步。

以下是通过串口返回的调试信息:
 
系统启动................................
断开USB连接........................
USBD12芯片初始化
   设置地址.....................
       地址为:  0
连接USB...............
USB总线复位................................
USB总线挂起................................
USB总线复位................................
USB总线挂起................................
USB总线复位................................
USB标准请求................................
    获取描述符................................
        获取设备描述符................................
USB总线复位................................
USB标准请求................................
   设置地址.....................
       地址为:  2
USB标准请求................................
    获取描述符................................
        获取设备描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取语言ID................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取设备序列号................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取语言ID................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取产品字符串................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取语言ID................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取产品字符串................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取设备描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    设置配置................................
USB类请求................................
    设置空闲................................
USB标准请求................................
    获取描述符(从接口)..............................
        获取报告描述符................................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
端点2输出................................
    端点2的数据是  0x01
端点2输出................................
    端点2的数据是  0x03
端点2输出................................
    端点2的数据是  0x01
端点2输出................................
    端点2的数据是  0x00
端点2输出................................
    端点2的数据是  0x02
端点2输出................................
    端点2的数据是  0x03


插上USB在电脑里显示如下信息:

程序下载完成后可以使用串口调试助手观察枚举过程。波特率为9600。
程序源代码:源代码下载.rar
原理图如下:


 
 RE: USB学习板之实战第一个USB程序: USB键盘  发表于 2008-08-20 09:48:06 [2楼] 
呢称:jinren1010
加我为好友
照上面原理图连接,然后烧入程序,此USB健盘就可以使用了,无需任何修改,当然你可以自己增加按健,使之更完美,美妙之极了, ^ 0 ^

希望对USB喜好者们有所帮助,尤其对USB编程者那更是难得的例程.
欢迎各位一起来交流,QQ:11449215
 
 RE: USB学习板之实战第一个USB程序: USB键盘  发表于 2008-09-03 09:49:04 [3楼] 
呢称:albertleung
加我为好友

 感谢分享~!


 
共3条 1/1 1   
   快速回复主题
  用户名 : 匿名不能发帖!请先 [ 登陆 ]
  标 题:
  内 容 :
 
关于我们 | 广告服务 | 企业会员服务 | 新手上路 | 联系我们 | 友情链接
《电子产品世界》杂志社 版权所有 北京东晓国际技术信息咨询有限公司
Copyright ©2002 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
京ICP备060382号