板子上面是MMA8451加速度传感器。关于这款加速度计,官网给了可检测自由落体、运动、脉冲、振动等、倾角等用途。官网也给了一些历程,可以去百度。现在我把历程简化,只截取了里面使用加速度传感器的部分,可以正常读取x、y、z轴的数据。下面的具体应用可以在此基础上修改了。
MMA8451采用了I2C通信。因此先对KL02的I@C初始化。还是标准的I2C通信格式,不懂的可以去百度。
通过配置MMA8451的寄存器,可以配置为不同的模式,在MMA8451_Initial()函数中对加速度计进行参数配置,可以选择自己想要的模式。具体有什么模式,可以通过官网的datasheet去了解,相当详细,中文版!
然后就是读出来加速度计的值了。这个历程的加速度选取了14位精度,因此需要读取两次,读取高位和低位,然后合并成为14位数据。具体函数如下:
- resultx = u8MMA8451ReadRegister(MMA8451_I2C_ADDRESS, 0x01)<<8;
- resultx |= u8MMA8451ReadRegister(MMA8451_I2C_ADDRESS, 0x02);
- resultx >>= 2;
通过右移8位与低位数据合并,向左移两位变成14位数据。就是他读出来的数据了。
通过串口发送x、y、z数据到串口进行显示。
答应了管理员发一个帖子。。。以后经常发帖,对自己也是一种督促。。但是懒得打字,心好累。
大家以后多看datasheet,可以减少好多问题,比如这个加速度计的资料,简直所有的都给了。抄上去完全够了。
以后多整理资料,把语言连冠一点点。管理员大大快来夸夸我
我以后就有动力来发帖啦!
附件下一层见