在线时间79 小时
UID305426
注册时间2009-7-26
NXP金币44
TA的每日心情 | 开心 2016-11-9 09:28 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]初来乍到
金牌会员
 
- 积分
- 1459
- 最后登录
- 1970-1-1
|
本帖最后由 Veiko 于 2015-6-16 11:01 编辑
针对此次开发进程贴的对应计划贴地址
【FRDM-K64F使用计划】+ 定制多用途鼠标
以上就是定制鼠标开发的基本硬件,其实红色框中标注的地方只是手一时有点痒,所以焊上去的,与这次开发无关。要在上图的FRDM平台进行开发,目前最为简单的当然是使用mbed,这样可以省好多的事情,但是对于我来说,使用mbed开发严重不习惯呀,因为是在线的。所以自诩为懒人的我又开始找快捷方式了,这不,最终还是找到了Freescale官方提供的SDK,好像都是1.2版本了,里面刚好也有K64的FRDM开发资源,好了,这里给大家分享一下,为了简洁,直接给大家百度云盘的下载链接。大家下载并安装到指定目录后就可以按下面的步骤进行USB鼠标的开发了………………
一、 先跑通一个USB_HID鼠标的例程
1. 在 您的安装目录\Freescale\KSDK_1.2.0\usb\usb_core\device\build\mdk\usbd_sdk_frdmk64f_ucosiii 下打开工程编译生成 libusbd_ucosiii.lib(必须进行的步骤,因为真正的USB_HID鼠标例程中是需要调用该lib文件的)
2. 打开 您的安装目录\Freescale\KSDK_1.2.0\examples\frdmk64f\demo_apps\usb\device\hid\hid_mouse\ucosiii\mdk 下的工程文件编译再下载到目标板,然后使用USB线连接PC与目标板的K64 USB,您就会发现电脑鼠标在画矩形了,到这里,例程的测试阶段就完成了。
二、 加入加速度传感器控制之前找到鼠标移动相关的函数,搞清楚你要通过加速度传感器来控制的目标参数
- static void move_mouse(void)
- {
- static int8_t x = 0, y = 0;
- enum { RIGHT, DOWN, LEFT, UP };
- static uint8_t dir = (uint8_t) RIGHT;
- switch(dir)
- {
- case RIGHT:
- g_mouse.rpt_buf[1] = 2;
- g_mouse.rpt_buf[2] = 0;
- x++;
- if (x > 100)
- {
- dir++;
- }
- break;
- case DOWN:
- g_mouse.rpt_buf[1] = 0;
- g_mouse.rpt_buf[2] = 2;
- y++;
- if (y > 100)
- {
- dir++;
- }
- break;
- case LEFT:
- g_mouse.rpt_buf[1] = (uint8_t)(-2);
- g_mouse.rpt_buf[2] = 0;
- x--;
- if (x < 0)
- {
- dir++;
- }
- break;
- case UP:
- g_mouse.rpt_buf[1] = 0;
- g_mouse.rpt_buf[2] = (uint8_t)(-2);
- y--;
- if (y < 0)
- {
- dir = RIGHT;
- }
- break;
- }
- (void) USB_Class_HID_Send_Data(g_mouse.app_handle, HID_ENDPOINT,
- g_mouse.rpt_buf, MOUSE_BUFF_SIZE);
- }
复制代码 我们可以参照上面的代码编写另一个控制鼠标的函数,当然这个函数是要你手动屏蔽掉的。
三、 添加加速度传感器的数据接口
先指出一个FXO8700芯片手册上的错误,正在公示阶段,错误说明链接
四、添加完了加速度控制再用加速度传感器的X,Y值来控制鼠标移动
hex文件下载:
dev_hid_mouse_ucosiii.zip
(37.37 KB, 下载次数: 13)
|
|