OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4927|回复: 14

小白 求教 USB键盘

[复制链接]

50

主题

243

帖子

1

精华

高级会员

Rank: 4

积分
616
金钱
616
注册时间
2014-2-26
在线时间
1 小时
发表于 2015-5-23 12:21:22 | 显示全部楼层 |阅读模式
5金钱
最近想把原子例程中的触控USB鼠标 改成 USB键盘,但是一直不能用

我先说一下我都干了什么

主要是按照原子推荐的 圈圈教你玩USB 修改了设备描述符 配置描述符(包括接口 HID 端点) 以及报告描述符

个人认为只要修改了这些描述符就可以直接使用 Joystick_Send()发送数据了 (当然按照报告描述符中定义的格式)

可是结果是 驱动显示成功安装 然后尝试Joystick_Send()发送键值 却总是什么反应都没有

求大神支招 小白最近的毕设要用~~~~ 很急呀~~~~





今天用Bus Hound看数据
发现我的电脑可以接收到数据,但是为什么并没有实际的字符输入呢?
为什么没有0x1c对应的‘y’字符的输入??

怎么回事呀

USB键盘.zip

4.75 MB, 下载次数: 274

最佳答案

查看完整内容[请看2#楼]

http://www.openedv.com/posts/list/10971.htm 你的跟这个有什么区别吗? 还有这个 http://bbs.ednchina.com/BLOG_ARTICLE_1460589.HTM
我是一只摔不死的蚂蚁!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-1-7
在线时间
0 小时
发表于 2015-5-23 12:21:23 | 显示全部楼层
http://www.openedv.com/posts/list/10971.htm
你的跟这个有什么区别吗?

还有这个
http://bbs.ednchina.com/BLOG_ARTICLE_1460589.HTM
回复

使用道具 举报

50

主题

243

帖子

1

精华

高级会员

Rank: 4

积分
616
金钱
616
注册时间
2014-2-26
在线时间
1 小时
 楼主| 发表于 2015-5-23 16:13:40 | 显示全部楼层
怎么没人来呀 我顶 我顶
我是一只摔不死的蚂蚁!
回复

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-1-7
在线时间
0 小时
发表于 2015-5-23 20:29:59 | 显示全部楼层
有可能键值格式不对?
请贴下代码看看
回复

使用道具 举报

50

主题

243

帖子

1

精华

高级会员

Rank: 4

积分
616
金钱
616
注册时间
2014-2-26
在线时间
1 小时
 楼主| 发表于 2015-5-23 22:01:50 | 显示全部楼层
[mw_shl_code=c,true]void Joystick_Send(u8 buf0) { u8 KeyBoard_Buffer[8] = {0, 0, 0, 0, 0, 0, 0, 0}; /* prepare buffer to send */ KeyBoard_Buffer[2]=buf0; /*copy mouse position info in ENDP1 Tx Packet Memory Area*/ UserToPMABufferCopy(KeyBoard_Buffer, GetEPTxAddr(ENDP1), 8); /* enable endpoint for transmission */ SetEPTxValid(ENDP1); }[/mw_shl_code]



[mw_shl_code=c,true]int main(void) { u8 key; delay_init(); //延时函数初始化 NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 uart_init(9600); //串口初始化为9600 LED_Init(); //LED端口初始化 KEY_Init(); //按键初始化 usb_port_set(0); //USB先断开 delay_ms(300); usb_port_set(1); //USB再次连接 //USB配置 USB_Interrupts_Config(); Set_USBClock(); USB_Init(); while(1) { key=KEY_Scan(0);//支持连按 if(key) { if(key==KEY_UP){ Joystick_Send(0x1c); LED0 = !LED0; } } if(bDeviceState==CONFIGURED)LED1=0;//当USB配置成功了,LED1亮,否则,灭 else LED1=1; } } [/mw_shl_code]

我是一只摔不死的蚂蚁!
回复

使用道具 举报

50

主题

243

帖子

1

精华

高级会员

Rank: 4

积分
616
金钱
616
注册时间
2014-2-26
在线时间
1 小时
 楼主| 发表于 2015-5-23 22:02:53 | 显示全部楼层
回复【3楼】Timingtime:
---------------------------------
看一下我贴过来的
Joystick_Send()以及main()函数
我是一只摔不死的蚂蚁!
回复

使用道具 举报

50

主题

243

帖子

1

精华

高级会员

Rank: 4

积分
616
金钱
616
注册时间
2014-2-26
在线时间
1 小时
 楼主| 发表于 2015-5-23 22:09:44 | 显示全部楼层
我再顶顶!!
我是一只摔不死的蚂蚁!
回复

使用道具 举报

50

主题

243

帖子

1

精华

高级会员

Rank: 4

积分
616
金钱
616
注册时间
2014-2-26
在线时间
1 小时
 楼主| 发表于 2015-5-23 23:25:03 | 显示全部楼层
为何我的帖子没人看呢???
我是一只摔不死的蚂蚁!
回复

使用道具 举报

50

主题

243

帖子

1

精华

高级会员

Rank: 4

积分
616
金钱
616
注册时间
2014-2-26
在线时间
1 小时
 楼主| 发表于 2015-5-24 19:39:49 | 显示全部楼层
回复【8楼】Timingtime:
---------------------------------
恩 看了一下还有地方需要修改 弄好了 谢谢哈~~~ 
好人一生平安~~~
我是一只摔不死的蚂蚁!
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2015-5-28
在线时间
0 小时
发表于 2015-5-28 22:55:53 | 显示全部楼层
回复【9楼】_tank_:
---------------------------------
楼主好人,可否将工程分享一下?跪求!
回复

使用道具 举报

50

主题

243

帖子

1

精华

高级会员

Rank: 4

积分
616
金钱
616
注册时间
2014-2-26
在线时间
1 小时
 楼主| 发表于 2015-5-31 22:28:23 | 显示全部楼层
回复【10楼】chybs:
---------------------------------
发了 使用的是战舰板  安装驱动成功后 按按键会向电脑发送12356789
我是一只摔不死的蚂蚁!
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2015-5-28
在线时间
0 小时
发表于 2015-6-2 22:25:03 | 显示全部楼层
回复【11楼】_tank_:
---------------------------------
楼主好人!支持开源!嘿嘿!
回复

使用道具 举报

1

主题

14

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2015-5-28
在线时间
0 小时
发表于 2015-6-4 21:26:17 | 显示全部楼层
楼主,我最近在做一个基于32的标准键盘,具体是开发板接ps2键盘,再由开发板发给电脑,我用你的工程改,加上之前弄好的开发板识别ps2键盘的源文件和头文件,但把程序下载到板子里,结果ps2键盘不上电,同时开发板不停向电脑发送"8",之前我把ps2的有关文件加到USB触控鼠标里,ps2键盘是可以上电的,希望楼主能解释一下,感激不尽啊!

USB键盘1.rar

3.66 MB, 下载次数: 121

回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2016-11-9 09:04:06 | 显示全部楼层
Timingtime 发表于 2015-5-23 12:21
http://www.openedv.com/posts/list/10971.htm
你的跟这个有什么区别吗?

我查看了一下,一个是107的代码.一个是103的代码. 107的代码无法发送松开键.
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2016-11-9 09:04:59 | 显示全部楼层
端点1初始化时还有一个长度设置要修改  值4修改为8
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-24 21:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表