打印
[Kinetis]

【FRDM-K64F使用进程】+ 定制多用途鼠标

[复制链接]
579|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Micachl|  楼主 | 2015-11-29 20:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是一款基于USB HID设备的鼠标功能限制及扩充,主要涉及HID设备的应用,同时结合其他的一些外设来完成专用/多用途的一个鼠标。分别会制作一个专用场合定制的鼠标,如功能限制性鼠标。还有可能根据应用将鼠标制作成具有部分键盘功能的结合体,初步设想是制作一个游戏鼠标二合一的设备,用于在汽车游戏当中的应用。





以上就是定制鼠标开发的基本硬件,其实红色框中标注的地方只是手一时有点痒,所以焊上去的,与这次开发无关。要在上图的FRDM平台进行开发,目前最为简单的当然是使用mbed,这样可以省好多的事情,但是对于我来说,使用mbed开发严重不习惯呀,因为是在线的。所以自诩为懒人的我又开始找快捷方式了,这不,最终还是找到了Freescale官方提供的SDK,好像都是1.2版本了,里面刚好也有K64的FRDM开发资源,好了,这里给大家分享一下,为了简洁,直接给大家百度云盘的下载链接。大家下载并安装到指定目录后就可以按下面的步骤进行USB鼠标的开发了………………

相关帖子

沙发
Micachl|  楼主 | 2015-11-29 20:08 | 只看该作者
一、 先跑通一个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);
}

找到鼠标移动相关的函数,搞清楚你要通过加速度传感器来控制的目标参数

使用特权

评论回复
板凳
Micachl|  楼主 | 2015-11-29 20:09 | 只看该作者
我们可以参照上面的代码编写另一个控制鼠标的函数,当然这个函数是要你手动屏蔽掉的。添加完了加速度控制再用加速度传感器的X,Y值来控制鼠标移动


hex文件下载:

dev_hid_mouse_ucosiii.zip

37.37 KB

使用特权

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

本版积分规则

43

主题

300

帖子

1

粉丝