==========================================================

原创文章转载请注明:blog.csdn.net/guo8113
==========================================================================

说明:

今天接着上次的mbedproject又玩弄了一番。实现了基于mbed RTOS以及三轴重力传感器的鼠标,当然了。因为FRDM25Z上没有按键,只实现了鼠标的移动。

在这个系统中更是充分体现了mbed的方便快捷,分分钟钟几行代码搞定了一个飞鼠的设计。

mbed的在线编译工具不会用的參考mbed试玩—高速开发MCU应用(基于FRDM-KL25Z)。

实现步骤:

1.新建project,导入对应的库(在线有提供的库):
导入库时通过import 导入;
2.为了好玩我把TSI(触摸按键)。mbed RTOS、LED、Timer都导入了,事实上这个功能用不到RTOS。可导入的库有:
3.新建并编写main函数:最终能够上代码了:
#include "mbed.h"
#include "rtos.h"#include "MMA8451Q.h"
#include "USBMouse.h"
#include "tsi_sensor.h"
//MMA8451Q definiation
#if   defined (TARGET_KL25Z) || defined (TARGET_KL46Z)PinName const SDA = PTE25;PinName const SCL = PTE24;
#elif defined (TARGET_KL05Z)PinName const SDA = PTB4;PinName const SCL = PTB3;
#elif defined (TARGET_K20D50M)PinName const SDA = PTB1;PinName const SCL = PTB0;
#else#error TARGET NOT DEFINED
#endif#define MMA8451_I2C_ADDRESS (0x1d<<1)//
#if defined (TARGET_KL25Z) || defined (TARGET_KL46Z)#define ELEC0 9#define ELEC1 10
#elif defined (TARGET_KL05Z)#define ELEC0 9#define ELEC1 8
#else#error TARGET NOT DEFINED
#endifMMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);Ticker tick;
PwmOut rled(LED1);
PwmOut gled(LED2);
PwmOut bled(LED3);TSIAnalogSlider tsi(ELEC0, ELEC1, 40);
USBMouse mouse;
//InterruptIn sw2(SW2);//thread pointer
Thread *thread2;float x=0, y=0, z=0,t=0;//intruppt
void sw2_press(void)
{thread2->signal_set(0x1);
}void led_thread(void const *argument)
{while (true) {rled = abs(1.0f - x -t);gled = abs(1.0f - y -t);bled = abs(1.0f - z -t);Thread::wait(50);}
}void scan_thread(void const *argument)
{while (true) {Thread::signal_wait(0x1);// x = abs(acc.getAccX());// y = abs(acc.getAccY());// z = abs(acc.getAccZ());x = acc.getAccX();y = acc.getAccY();z = acc.getAccZ();t = tsi.readPercentage();}
}int main()
{Thread thread(led_thread);thread2 = new Thread(scan_thread);//  sw2.fall(&sw2_press);tick.attach(&sw2_press,0.001);   //scan MMA8451Q ervery 0.01swhile (true) {Thread::wait(1);mouse.move( y*127,x*127);printf("\r\n 0.1 seconds passed: %f,%f,%f,%f \r\n", x,y,z,t);fflush(stdout);}
}

OK ,大功告成,连接USB线到板子上的USB KL25Z到PC,PC识别USB输入设备,鼠标动了。。。。

版权声明:本文博主原创文章,博客,未经同意不得转载。

mbed列--基于飞思卡尔FRDM KL25Z鼠标设计的高速实现相关推荐

  1. 电动汽车整车控制器 VCU 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案

    电动汽车整车控制器 VCU 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案 1:C源文件,底层驱动+控制策略 2:程序变量表格,Execl文件 ...

  2. 电动汽车整车控制器 VCU 代码原理图资料 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案

    电动汽车整车控制器 VCU 代码原理图资料 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案 1:C源文件,底层驱动+控制策略 2:程序变量表格 ...

  3. “飞思卡尔”杯智能车设计与实践

    "飞思卡尔"杯智能车设计与实践: 本书以"飞思卡尔"杯智能车竞赛为背景,以智能车制作过程中遇到的技术问题为着眼点,系统讲述了智能车的制作和调试过程.全书共分10 ...

  4. 基于飞思卡尔MC9S12XS的Flash擦除和写入操作

    关于Flash的擦除和写入,真的是让我最费力的一部分,网上的相关资料很少,好不容易找到了一点相关代码,却发现程序不能正常的运行,而且更令人无解的是程序本身怎么检查都检查不出错误.好啦,一点一点的说说我 ...

  5. 基于飞思卡尔NXP的MKE02单片机的俄罗斯方块KEIL5平台C代码可移植显示成绩

    代码还有BUG:向左回超出边界,左右移动时,钻进空格中会悬停,懒得改了,  过两天有时间再说吧,其它不影响玩,主函数重新上电后会继续开始游戏,需要的自己重新写下循环就好了 //部分代码见下,完整代码和 ...

  6. 飞思卡尔智能车摄像头上位机…

    原文地址:飞思卡尔智能车摄像头上位机采集程序 作者:玲声依旧美 基于飞思卡尔XS128单片机 摄像头采集测试程序     OV7620采集程序说明:摄像头数据口接PA0-PA7:行中断接PT0,场中断 ...

  7. 物联网改变生活——飞思卡尔技术论坛中国站侧记

    近日,飞思卡尔技术论坛(FTF)中国站在深圳举行.飞思卡尔总裁兼首席执行官Gregg Lowe亲临论坛,布道物联网.论坛提供了超过110个小时的技术培训课程,涵盖汽车.消费电子.医疗保健.工业.网络. ...

  8. 飞思卡尔MQX环境下Modbus通信的软件开发

    Modbus协议是工业控制中经常会用到的通信协议,在飞思卡尔KSDK中的UART驱动是通用收发驱动,要在KSDK中实现Modbus通信,就要修改UART驱动,今天我们就来看看基于飞思卡尔KSDK1.2 ...

  9. 飞思卡尔imx7 html5,i.MX6UL 飞思卡尔即将发布基于ARM Cortex-A7核心的低功耗处理器 i.MX 6UltraLite Processor...

    i.MX6UL 飞思卡尔即将发布基于ARM Cortex-A7核心的低功耗处理器 i.MX 6UltraLite Processor Freescale飞思卡尔即将于7月份发布全新的基于ARM Cor ...

最新文章

  1. Go 学习笔记(18)— 函数(04)[闭包定义、闭包修改变量、闭包记忆效应、闭包实现生成器、闭包复制原对象指针]
  2. dataGridView右键菜单并选中该行 http://blog.csdn.net/lanmao100/archive/2009/06/25/4298529.aspx...
  3. jmeter 逻辑控制器
  4. 此服务器的时钟与主域控制器的时钟不一致_中移动“超高精度时间同步服务器”开标,两家中标...
  5. windows下python安装
  6. nginx php-fpm 下的php.ini在哪里
  7. C#LeetCode刷题之#617-合并二叉树​​​​​​​​​​​​​​(Merge Two Binary Trees)
  8. 《Spring_Four》第一次作业:团队亮相
  9. html浏览xsd,XSD 简易元素
  10. python notebook右侧网页_Python Notebook介绍
  11. Extjs6开发环境搭建
  12. 高性能Mysql中文版
  13. 树莓派+摄像头实现监控功能
  14. linux下ptp性能测试
  15. 实践篇(4):Apache jena SPARQL endpoint及推理
  16. 江南大学计算机拟录取名单,江南大学2018年法律硕士拟录取名单公示
  17. consul剔除无效服务
  18. 通信类顶级会议及期刊
  19. 域名系统安全作业-DNS Cache Poisoning Attack Reloaded: Revolutions with Side Channels
  20. RHCSA认证培训+考试七天实录(一)

热门文章

  1. codeforces 940D 比赛总结
  2. [LeetCode] Maximum Subarray 最大子数组
  3. Docker集群管理工具-Kubernetes部署记录
  4. Python标准库:内置函数tuple([iterable])
  5. RHCSA 系列(六): 使用 Parted 和 SSM 来配置和加密系统存储
  6. 标记meta http-equiv = X-UA-Compatible content = IE=edge,chrome=1
  7. sql server 2008建域时提示admin密码不符合要求解决方法
  8. 在RedHat上安装gcc,java 和 eclipse-rcp
  9. 使用__doPostBack函数回送表单.
  10. taro 在components文件夹中 新建组件时,组件支持自定义命名,但是不能大写开头...