mbed列--基于飞思卡尔FRDM KL25Z鼠标设计的高速实现
==========================================================
说明:
今天接着上次的mbedproject又玩弄了一番。实现了基于mbed RTOS以及三轴重力传感器的鼠标,当然了。因为FRDM25Z上没有按键,只实现了鼠标的移动。
在这个系统中更是充分体现了mbed的方便快捷,分分钟钟几行代码搞定了一个飞鼠的设计。
mbed的在线编译工具不会用的參考mbed试玩—高速开发MCU应用(基于FRDM-KL25Z)。
实现步骤:
#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鼠标设计的高速实现相关推荐
- 电动汽车整车控制器 VCU 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案
电动汽车整车控制器 VCU 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案 1:C源文件,底层驱动+控制策略 2:程序变量表格,Execl文件 ...
- 电动汽车整车控制器 VCU 代码原理图资料 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案
电动汽车整车控制器 VCU 代码原理图资料 电动汽车整车控制含canbootloader 基于飞思卡尔MC9S12XEP100整车控制器 VCU方案 1:C源文件,底层驱动+控制策略 2:程序变量表格 ...
- “飞思卡尔”杯智能车设计与实践
"飞思卡尔"杯智能车设计与实践: 本书以"飞思卡尔"杯智能车竞赛为背景,以智能车制作过程中遇到的技术问题为着眼点,系统讲述了智能车的制作和调试过程.全书共分10 ...
- 基于飞思卡尔MC9S12XS的Flash擦除和写入操作
关于Flash的擦除和写入,真的是让我最费力的一部分,网上的相关资料很少,好不容易找到了一点相关代码,却发现程序不能正常的运行,而且更令人无解的是程序本身怎么检查都检查不出错误.好啦,一点一点的说说我 ...
- 基于飞思卡尔NXP的MKE02单片机的俄罗斯方块KEIL5平台C代码可移植显示成绩
代码还有BUG:向左回超出边界,左右移动时,钻进空格中会悬停,懒得改了, 过两天有时间再说吧,其它不影响玩,主函数重新上电后会继续开始游戏,需要的自己重新写下循环就好了 //部分代码见下,完整代码和 ...
- 飞思卡尔智能车摄像头上位机…
原文地址:飞思卡尔智能车摄像头上位机采集程序 作者:玲声依旧美 基于飞思卡尔XS128单片机 摄像头采集测试程序 OV7620采集程序说明:摄像头数据口接PA0-PA7:行中断接PT0,场中断 ...
- 物联网改变生活——飞思卡尔技术论坛中国站侧记
近日,飞思卡尔技术论坛(FTF)中国站在深圳举行.飞思卡尔总裁兼首席执行官Gregg Lowe亲临论坛,布道物联网.论坛提供了超过110个小时的技术培训课程,涵盖汽车.消费电子.医疗保健.工业.网络. ...
- 飞思卡尔MQX环境下Modbus通信的软件开发
Modbus协议是工业控制中经常会用到的通信协议,在飞思卡尔KSDK中的UART驱动是通用收发驱动,要在KSDK中实现Modbus通信,就要修改UART驱动,今天我们就来看看基于飞思卡尔KSDK1.2 ...
- 飞思卡尔imx7 html5,i.MX6UL 飞思卡尔即将发布基于ARM Cortex-A7核心的低功耗处理器 i.MX 6UltraLite Processor...
i.MX6UL 飞思卡尔即将发布基于ARM Cortex-A7核心的低功耗处理器 i.MX 6UltraLite Processor Freescale飞思卡尔即将于7月份发布全新的基于ARM Cor ...
最新文章
- Go 学习笔记(18)— 函数(04)[闭包定义、闭包修改变量、闭包记忆效应、闭包实现生成器、闭包复制原对象指针]
- dataGridView右键菜单并选中该行 http://blog.csdn.net/lanmao100/archive/2009/06/25/4298529.aspx...
- jmeter 逻辑控制器
- 此服务器的时钟与主域控制器的时钟不一致_中移动“超高精度时间同步服务器”开标,两家中标...
- windows下python安装
- nginx php-fpm 下的php.ini在哪里
- C#LeetCode刷题之#617-合并二叉树​​​​​​​​​​​​​​(Merge Two Binary Trees)
- 《Spring_Four》第一次作业:团队亮相
- html浏览xsd,XSD 简易元素
- python notebook右侧网页_Python Notebook介绍
- Extjs6开发环境搭建
- 高性能Mysql中文版
- 树莓派+摄像头实现监控功能
- linux下ptp性能测试
- 实践篇(4):Apache jena SPARQL endpoint及推理
- 江南大学计算机拟录取名单,江南大学2018年法律硕士拟录取名单公示
- consul剔除无效服务
- 通信类顶级会议及期刊
- 域名系统安全作业-DNS Cache Poisoning Attack Reloaded: Revolutions with Side Channels
- RHCSA认证培训+考试七天实录(一)
热门文章
- codeforces 940D 比赛总结
- [LeetCode] Maximum Subarray 最大子数组
- Docker集群管理工具-Kubernetes部署记录
- Python标准库:内置函数tuple([iterable])
- RHCSA 系列(六): 使用 Parted 和 SSM 来配置和加密系统存储
- 标记meta http-equiv = X-UA-Compatible content = IE=edge,chrome=1
- sql server 2008建域时提示admin密码不符合要求解决方法
- 在RedHat上安装gcc,java 和 eclipse-rcp
- 使用__doPostBack函数回送表单.
- taro 在components文件夹中 新建组件时,组件支持自定义命名,但是不能大写开头...