打印

【MCU方案】+cc5240蓝牙键鼠

[复制链接]
1265|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sharknarduo|  楼主 | 2015-6-4 19:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
第一部分为模块(从机端);主要是模块连接并发送数据到 USB Dongle。
第二部分为 USB Dongle( PC)端;主要是 HID 设备的实现及根据接收到模块
的数据告诉 PC 对键盘或鼠标进行操作。
USB-HID 介绍:
HID 是 Human Interface Device 的缩写,由其名称可以了解 HID 设备是直
接与人交互的设备,例如键盘、鼠标与游戏杆等。
交换的数据存储在称为报表(report)的结构内,设备的固件必须支持 HID 报
表的格式。主机在控制与中断传输中传送与要求报表,来传送与接收数据。报
表的格式非常有弹性,可以处理任何类别的数据。

相关帖子

沙发
sharknarduo|  楼主 | 2015-6-4 19:03 | 只看该作者
实物图

蓝牙鼠标.png (477.3 KB )

蓝牙鼠标.png

使用特权

评论回复
板凳
sharknarduo|  楼主 | 2015-6-4 19:06 | 只看该作者
部分源码:
、1. buf[0] = buttons; // 鼠标左右键
2. buf[1] = 0; // X 轴偏移量
3. buf[2] = 0; // Y 轴偏移量
4. buf[3] = 0; // Wheel 滑轮变化量
5. buf[4] = 0; // AC Pan 不符合 HIDAdvRemoteDongle 注释掉
if ( events & START_DEVICE_EVT )
2. {
3. //5s 启动 XY 轴周期报告发送
4. osal_start_timerEx( hidEmuKbdTaskId, MOUSE_X_EVT, 5000 );
5. osal_start_timerEx( hidEmuKbdTaskId, MOUSE_Y_EVT, 5000 );
6.
7. return ( events ^ START_DEVICE_EVT );
8. }
1. if ( events & MOUSE_X_EVT ) //鼠标 X 轴周期检测事件
2. {
3. uint8 buf[2];
4. int x;
5. int8 mouse_y;
6.
7. //X
8. buf[0] = HalI2CReadReg(0x01);
9. buf[1] = HalI2CReadReg(0x02);
10. x=(buf[0]<<8)|buf[1];
11. x>>=4;
12. if(x>600)mouse_y = 10;
13. else if(x<-600)mouse_y = -10;
14. else mouse_y = 0;
15.
16. if(mouse_y!=0)hidEmuKbdSendMouseReport(Mousebutton,0,mouse_y);
17.
18. if(Mousetime)osal_start_timerEx( hidEmuKbdTaskId, MOUSE_X_EVT,
Mousetime );
19. return ( events ^ MOUSE_X_EVT );
20. }

使用特权

评论回复
地板
JY-DX-JY| | 2015-6-4 19:29 | 只看该作者
顶一个。

使用特权

评论回复
5
21ic小喇叭| | 2015-6-5 15:19 | 只看该作者
前十名参与活动的赏金已发  :D

使用特权

评论回复
6
冰河w| | 2015-6-7 15:05 | 只看该作者
赞,这模块多钱呢

使用特权

评论回复
7
i1mcu| | 2015-6-7 20:58 | 只看该作者
有演示的视频吗?

使用特权

评论回复
8
尤彼卡| | 2015-6-12 20:48 | 只看该作者
感觉很强大的样子,传输距离有多远

使用特权

评论回复
9
豆腐块| | 2015-6-25 20:36 | 只看该作者
这和市场上的无线键鼠比较,有哪些优势

使用特权

评论回复
10
lwsn| | 2015-6-25 21:26 | 只看该作者
能分享电路原理图吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

58

主题

416

帖子

7

粉丝