【FRDM-K64F】空中飞鼠 之 读FXOS8700Q加速度值
在飞思卡尔社区拿到论坛里送的K64F了。这几天初步研究了下,为了快速实现还是用mbed吧,我懒得去啃英文资料了。还是站在别人肩膀上吧
今天试验了下mbed封装的FXOS8700Q库,好用简单。废话不多说开始吧
实验目的:
每隔一秒从FXOS8700Q传感器上读出X,Y,Z轴上的加速度值,并通过串口在电脑上显示出来。同时反转RGB的红色小灯。
电路图:
1、RGB LED
2、FXOS8700
3、UART串口
实验代码:
#include "mbed.h"
#include "FXOS8700Q.h"
//I2C_SCL = PTE24
//I2C_SDA = PTE25
FXOS8700Q_acc acc(I2C_SDA, I2C_SCL, FXOS8700CQ_SLAVE_ADDR1);
//USBTX = PTB17
//USBRX = PTB16
Serial pc(USBTX,USBRX);
//LED_RED = PTB22
DigitalOut led(LED_RED);
int main()
{
MotionSensorDataCounts accData;
//cc.whoAmI() 读取并检查FXOS8700CQ WHOAMI寄存器
pc.printf("Who AM I= %X\r\n", acc.whoAmI());
//开启加速度测量
acc.enable();
while(1)
{
//取3个轴上的加速度值
acc.getAxis(accData);
//输出
pc.printf("X:%d Y:%d Z:%d\n",accData.x,accData.y,accData.z);
//翻转LED
led = !led;
//等待1s
wait(1.0);
}
}
实验结果:
水平放置开发板的输出值
|