[原创] KL02板子加速度计使用--纪念变成NXP的飞思卡尔

07611128   2015-12-16 21:28 楼主
       板子上面是MMA8451加速度传感器。关于这款加速度计,官网给了可检测自由落体、运动、脉冲、振动等、倾角等用途。官网也给了一些历程,可以去百度。现在我把历程简化,只截取了里面使用加速度传感器的部分,可以正常读取x、y、z轴的数据。下面的具体应用可以在此基础上修改了。
      MMA8451采用了I2C通信。因此先对KL02的I@C初始化。还是标准的I2C通信格式,不懂的可以去百度。
      通过配置MMA8451的寄存器,可以配置为不同的模式,在MMA8451_Initial()函数中对加速度计进行参数配置,可以选择自己想要的模式。具体有什么模式,可以通过官网的datasheet去了解,相当详细,中文版!
      然后就是读出来加速度计的值了。这个历程的加速度选取了14位精度,因此需要读取两次,读取高位和低位,然后合并成为14位数据。具体函数如下:
   
  1. resultx   = u8MMA8451ReadRegister(MMA8451_I2C_ADDRESS, 0x01)<<8;
  2.         resultx  |= u8MMA8451ReadRegister(MMA8451_I2C_ADDRESS, 0x02);
  3.         resultx >>= 2;

通过右移8位与低位数据合并,向左移两位变成14位数据。就是他读出来的数据了。
     通过串口发送x、y、z数据到串口进行显示。
     答应了管理员发一个帖子。。。以后经常发帖,对自己也是一种督促。。但是懒得打字,心好累。
     大家以后多看datasheet,可以减少好多问题,比如这个加速度计的资料,简直所有的都给了。抄上去完全够了。
    以后多整理资料,把语言连冠一点点。管理员大大快来夸夸我我以后就有动力来发帖啦!
    附件下一层见
世间万物皆系于一键之上~

回复评论 (7)

QQ截图20151216213231.png QQ截图20151216213257.png QQ截图20151216213312.png QQ截图20151216213325.png QQ截图20151216213338.png QQ截图20151216213431.png
还是能够对应不同的状态。对他们符号转换哪里理解的不是很透彻,求大神进行详细说明(当时工作之余把他倒腾出来了)。
代码见下层。。Ps:没有中文的,我记错了,是因为我英文已经好的像中文了么。。。我是英语渣渣,耐心去读datasheet就会有收获。
还有一个讲解KL25中加速度计使用的,被我无耻的拿来借用。。我忘了是哪位大神的了,求谅解~
世间万物皆系于一键之上~
点赞  2015-12-16 21:43
工程在sensor压缩包里面,但是可能因为我直接在官方历程哪里修改,可能需要添加几个文件,在libraries压缩包里面,劳烦自己添加啦~我可以运行,哈哈

    sensor.rar (2015-12-16 21:48 上传)

    956.92 KB, 下载次数: 9

    Libraries.rar (2015-12-16 21:50 上传)

    96.84 KB, 下载次数: 10

世间万物皆系于一键之上~
点赞  2015-12-16 21:51
管理员soso 来支持一下,写的很详细,赞一个。
加油!在电子行业默默贡献自己的力量!:)
点赞  2015-12-17 09:07

5楼 nmg 

楼主有情怀,帮楼主召唤同样有Freescale情怀的版主@freebsder来说说符号转换啊
点赞  2015-12-17 10:52
Mark
点赞  2015-12-18 08:07
楼主很厉害,写了这么多,很详细,支持一下楼主,希望楼主出更好的作品
点赞  2015-12-25 09:39
这个不错呀,多谢版主分享,我也来学习学习,看来MBED越来越强大了,我要加强学习,不然就落后了
点赞  2016-1-7 22:08
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复