社区应用 最新帖子 精华区 社区服务 会员列表 统计排行 银行
主题 : MDK9X35-EK_T70开发板keil裸机USB例程09:usb_iad_cdc_hid(复合USB设备 USB转串口和HID键盘例子)  t.sina.com.cn 分享到新浪微博   腾讯微博 转播到腾讯微博
Mcuzone_xyz 离线
级别: 金卡会员
显示用户信息 
楼主  发表于: 2014-02-12   

MDK9X35-EK_T70开发板keil裸机USB例程09:usb_iad_cdc_hid(复合USB设备 USB转串口和HID键盘例子)

这个例子模拟了一个具有USB转RS-232串口和USB HID键盘功能的复合USB设备。
    当运行这个程序的开发板通过USB线与PC相连,在PC上会显示1个串行COM端口和一个HID键盘设备。



关键字:
ATMEL AT91 AT91SAM9X35 9X5 9X35 Keil MDK MDK9X5 MDK9X35 裸机 裸机程序 softpack 例子 例程 demo JLINK SAM-ICE USB Communication Device class(CDC) serial USB Device Port(UDP)  USB转RS-232串口 USART COM端口 USB Humen Interface Device class(HID) USB人机接口设备 键盘



硬件平台:MDK9X35-EK_T70开发板
编译工具:KEIL uVision4



注意:该演示例子在windows XP (SP3)下进行,运行该例子对PC主机的要求请参阅源程序里面的说明。
[ 此帖被Mcuzone_xyz在2014-02-12 14:10重新编辑 ]
Mcuzone_xyz 离线
级别: 金卡会员
显示用户信息 
沙发  发表于: 2014-02-12   
源程序需做如下修改:
(若已修改则无需再改动)

board.h文件:

113~115行:
//#define BOARD_REV_A_VB
//#define BOARD_REV_A_EK
#define BOARD_REV_B_EK
改为:
//#define BOARD_REV_A_VB
#define BOARD_REV_A_EK
//#define BOARD_REV_B_EK

755~760行:
#ifdef BOARD_REV_A_EK
/** Push button #0 definition. Attributes = pull-up + debounce + interrupt on rising edge. */
#define PIN_PUSHBUTTON_1    {PIO_PD18, PIOD, ID_PIOD, PIO_INPUT, PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_FALL_EDGE}
/** Push button #1 definition. Attributes = pull-up + debounce + interrupt on falling edge. */
#define PIN_PUSHBUTTON_2    {PIO_PD19, PIOD, ID_PIOD, PIO_INPUT, PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_FALL_EDGE}
#endif
改为:
#ifdef BOARD_REV_A_EK
/** Push button #0 definition. Attributes = pull-up + debounce + interrupt on rising edge. */
#define PIN_PUSHBUTTON_1    {PIO_PB17, PIOB, ID_PIOB, PIO_INPUT, PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_FALL_EDGE}
/** Push button #1 definition. Attributes = pull-up + debounce + interrupt on falling edge. */
#define PIN_PUSHBUTTON_2    {PIO_PC31, PIOC, ID_PIOC, PIO_INPUT, PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_FALL_EDGE}
#endif
做以上修改后,则开发板上的K2按键作为'Num Lock',K3作为'a'。
Mcuzone_xyz 离线
级别: 金卡会员
显示用户信息 
板凳  发表于: 2014-02-12   
程序运行后,开发板用USB线与PC主机相连后,调试串口及设备管理器如下图所示
Mcuzone_xyz 离线
级别: 金卡会员
显示用户信息 
地板  发表于: 2014-02-12   
USB转串口可参考:http://www.mcuzone.com/bbs/read.php?tid=10813
注意:在这个例子里,这个串口可以连接和断开,不能收发数据,具体请参阅源程序。
HID键盘可参考:http://www.mcuzone.com/bbs/read.php?tid=10815
Mcuzone_xyz 离线
级别: 金卡会员
显示用户信息 
4楼  发表于: 2014-02-12   
描述
快速回复

如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
验证问题:
Keil是做啥的?
(备选答案:餐饮、编译器、聊天软件) 正确答案:编译器
按"Ctrl+Enter"直接提交