打印
[Kinetis]

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

[复制链接]
1342|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
李香兰|  楼主 | 2015-12-17 20:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
板子上面是MMA8451加速度传感器。关于这款加速度计,官网给了可检测自由落体、运动、脉冲、振动等、倾角等用途。官网也给了一些历程,可以去百度。现在我把历程简化,只截取了里面使用加速度传感器的部分,可以正常读取x、y、z轴的数据。下面的具体应用可以在此基础上修改了。
      MMA8451采用了I2C通信。因此先对KL02的I@C初始化。还是标准的I2C通信格式,不懂的可以去百度。
      通过配置MMA8451的寄存器,可以配置为不同的模式,在MMA8451_Initial()函数中对加速度计进行参数配置,可以选择自己想要的模式。具体有什么模式,可以通过官网的datasheet去了解,相当详细,中文版!
      然后就是读出来加速度计的值了。这个历程的加速度选取了14位精度,因此需要读取两次,读取高位和低位,然后合并成为14位数据。具体函数如下:

相关帖子

沙发
李香兰|  楼主 | 2015-12-17 20:31 | 只看该作者
resultx   = u8MMA8451ReadRegister(MMA8451_I2C_ADDRESS, 0x01)<<8;
        resultx  |= u8MMA8451ReadRegister(MMA8451_I2C_ADDRESS, 0x02);
        resultx >>= 2;

通过右移8位与低位数据合并,向左移两位变成14位数据。就是他读出来的数据了。
     通过串口发送x、y、z数据到串口进行显示。
     答应了管理员发一个帖子。。。以后经常发帖,对自己也是一种督促。。但是懒得打字,心好累。
     大家以后多看datasheet,可以减少好多问题,比如这个加速度计的资料,简直所有的都给了。抄上去完全够了。

使用特权

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

本版积分规则

26

主题

248

帖子

0

粉丝