本帖最后由 zhaogong 于 2017-6-30 00:07 编辑
这篇简单的介绍一下板子上FXOS8700CQ这个3轴加速度计+3轴磁力计的传感器数据的读取。
关于这个传感器的相关资料,大家可以到官网上自行查找,主要是要查看一下它的数据手册和使用指南。这里就只介绍一下如何通过SDK例程的修改实现一个可以通过串口每隔一秒钟输出一次传感器的加速度值和磁力值。
首先,我们来看一下板子上的原理图,如图:
从图中可以看出传感器和MCU是通过IIC来通信的,因此,我们可以在SDK包里的driver_example里找到关于读取FXOS8700CQ的例程。
打开MCUXpresso IDE,导入以下的项目:
经研究测试,该例程可以实现上电后实时输出一列加速度值,如下图:
具体的内容我就不做分析了,大家可以自行去操作来熟识。我这里就直接修改为可以读取加速度值和磁力值了。下面我就主要提一下添加的几个重要部分咯。
1, 修改添加的I2C初始化配置函数,如图:
添加的独立的I2C初始化配置代码
2, 添加的定时器2的初始化函数,代码如图:
时钟,工作方式等配置初始化
定时中断函数入口
3, 添加加速度值和磁力值读取函数,如图:
4, 修改的主函数,如图:
在主函数入口处添加I2C和定时器2初始化函数
修改的循环主函数
到这里就修改完了,其它的小细节我就不说了,代码会放在帖子后面,有兴趣的小伙伴可以下来看看咯。编译,下载工程到板子上,打开串口调试助手,运行,输出如下:
板子每隔一秒钟输出一次加速度值和磁力值。
这篇主要是练习了3轴加速度计和3轴磁力计FXOS8700CQ的操作,MCU的I2C应用,以及定时器的使用,下篇应该会调蓝牙的了,有兴趣的小伙伴可以关注一下。拜拜!