查看: 3195|回复: 11

[分享] FRDM-KL25Z 1、USB鼠标画圆

[复制链接]
  • TA的每日心情
    奋斗
    2017-5-3 11:19
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    50

    主题

    1万

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    14090
    最后登录
    2024-4-19
    发表于 2015-4-24 22:34:48 | 显示全部楼层 |阅读模式
    拿到这块板子有一段时间,一直没有时间去好好的研究。这几天空了,弄点小玩意给大家分享。
    就是用用KL25的USB做为HID鼠标,然后画个圆,开发使用mbed,因为mbed使用简单。废话不多说开始吧。
    首先mbed里要导入两个库,一个是mbed,一个是USBDevice库。如图:
    1.png
    代码如下:
    1. #include <math.h>
    2. #include <stdlib.h>

    3. #include "mbed.h"
    4. #include "USBMouse.h"

    5. USBMouse mouse(ABS_MOUSE);

    6. //定义点
    7. struct Point
    8. {
    9.     int16_t x;
    10.     int16_t y;   
    11. };
    12. //画圆
    13. void DrawCircle(Point basePoint,int32_t radius);


    14. int main()
    15. {
    16.     //中心坐标
    17.     origin.x = (X_MAX_ABS - X_MIN_ABS)/2;
    18.     origin.y = (Y_MAX_ABS - Y_MIN_ABS)/2;
    19.    
    20.     int32_t radius = origin.y / 2;
    21.     //画圆
    22.     DrawCircle(origin,radius);
    23.    
    24.     while(1);
    25. }


    26. void DrawCircle(Point basePoint,int32_t radius)
    27. {
    28.     int16_t x =0,y=0;
    29.     int angle = 0;
    30.    
    31.     mouse.press(MOUSE_LEFT);
    32.     wait(0.01);
    33.     for(angle =0;angle<=360;angle++)
    34.     {
    35.         x = basePoint.x + radius * cos((double)angle * 3.14 / 180);
    36.         y = basePoint.y + radius * sin((double)angle * 3.14 / 180);
    37.         mouse.move(x,y);
    38.         
    39.         wait(0.01);
    40.     }
    41.     mouse.release(MOUSE_LEFT);
    42.     wait(0.01);
    43. }


    复制代码
    打开画图板,然后插上另USB接口,注意不是OPENSDA。然后你就可以看到鼠标开始画圆了
    效果图: 2.png

    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-1-24 09:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    654

    主题

    3262

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    13135
    最后登录
    2019-1-27
    发表于 2015-4-24 22:37:41 | 显示全部楼层
    这是椭圆
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-3 11:19
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    50

    主题

    1万

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    14090
    最后登录
    2024-4-19
     楼主| 发表于 2015-4-24 22:53:42 | 显示全部楼层

    这么晚了,你还没睡?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-1-24 09:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    654

    主题

    3262

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    13135
    最后登录
    2019-1-27
    发表于 2015-4-24 22:55:40 | 显示全部楼层
    党国特派员 发表于 2015-4-24 22:53
    这么晚了,你还没睡?

    是哦~ 社区是我家了都
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-3 11:19
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    50

    主题

    1万

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    14090
    最后登录
    2024-4-19
     楼主| 发表于 2015-4-24 23:08:15 | 显示全部楼层
    小七 发表于 2015-4-24 22:55
    是哦~ 社区是我家了都

    老板应该给你加工资了哦。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-1-24 09:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    654

    主题

    3262

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    13135
    最后登录
    2019-1-27
    发表于 2015-4-24 23:11:16 | 显示全部楼层
    党国特派员 发表于 2015-4-24 23:08
    老板应该给你加工资了哦。

    哈哈~ ~ 大家集体建议吗
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2025-5-7 09:07
  • 签到天数: 353 天

    连续签到: 1 天

    [LV.8]以坛为家I

    141

    主题

    8056

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5785
    最后登录
    2025-5-7
    发表于 2015-4-24 23:53:24 | 显示全部楼层
    小七 发表于 2015-4-24 23:11
    哈哈~ ~ 大家集体建议吗

    恩,集体建议,老板同意吗
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    31

    主题

    253

    帖子

    20

    金牌会员

    Rank: 6Rank: 6

    积分
    1531
    最后登录
    2021-7-20
    发表于 2015-4-24 23:58:10 | 显示全部楼层
    附上USB键盘
    #include "mbed.h"
    #include "USBKeyboard.h"

    DigitalIn Key1(PTD6);
    DigitalIn Key2(PTA4);

    uint8_t cnt = 0;

    //USBKeyboard
    USBKeyboard keyboard;

    int main(void) {
        while (1) {
          if(Key1 == 0)
          {
            keyboard.printf("Hello World from Mbed\r\n");
          }
          if(Key2 == 0)
          {
            keyboard.keyCode('s', 0);
          }
          wait(0.1);
        }
    }
    mbed确实方便就是离硬件太远了改起来不方便。

    USBKeyboard_HelloWorld.zip

    506.18 KB, 下载次数: 2, 下载积分: 威望 1

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-1-24 09:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    654

    主题

    3262

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    13135
    最后登录
    2019-1-27
    发表于 2015-4-30 15:51:53 | 显示全部楼层
    wambob 发表于 2015-4-24 23:53
    恩,集体建议,老板同意吗

    不知道~ 问老板
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    20

    帖子

    0

    新手上路

    Rank: 1

    积分
    49
    最后登录
    2015-4-30
    发表于 2015-4-30 17:13:47 | 显示全部楼层
    谢楼主分享,学习了
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-25 09:28 , Processed in 0.101793 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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