FXOS8700Q Magnetometer example for FRDM-K64F

Dependencies:   FXOS8700Q

Committer:
MACRUM
Date:
Wed Oct 16 06:26:58 2019 +0000
Revision:
5:90b5419be471
Parent:
3:e7e62f8a974b
Add Magnetometer code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kgilbert 0:5ee0fb58a1c8 1 /* mbed Microcontroller Library
kgilbert 0:5ee0fb58a1c8 2 * Copyright (c) 2019 ARM Limited
kgilbert 0:5ee0fb58a1c8 3 * SPDX-License-Identifier: Apache-2.0
kgilbert 0:5ee0fb58a1c8 4 */
kgilbert 0:5ee0fb58a1c8 5
kgilbert 0:5ee0fb58a1c8 6 #include "mbed.h"
MACRUM 3:e7e62f8a974b 7 #include "FXOS8700Q.h"
kgilbert 0:5ee0fb58a1c8 8
MACRUM 3:e7e62f8a974b 9 I2C i2c(PTE25, PTE24);
MACRUM 5:90b5419be471 10 FXOS8700QMagnetometer mag(i2c, FXOS8700CQ_SLAVE_ADDR1);
kgilbert 0:5ee0fb58a1c8 11
MACRUM 5:90b5419be471 12 DigitalOut led(LED1);
kgilbert 0:5ee0fb58a1c8 13
MACRUM 3:e7e62f8a974b 14 int main(void)
kgilbert 0:5ee0fb58a1c8 15 {
MACRUM 5:90b5419be471 16 motion_data_counts_t mag_raw;
MACRUM 5:90b5419be471 17 int16_t raX, raY, raZ;
MACRUM 5:90b5419be471 18
MACRUM 5:90b5419be471 19 // 磁気センサーの初期化
MACRUM 5:90b5419be471 20 mag.enable();
MACRUM 3:e7e62f8a974b 21
MACRUM 3:e7e62f8a974b 22 while (true) {
MACRUM 3:e7e62f8a974b 23 // データの取得
MACRUM 5:90b5419be471 24 mag.getAxis(mag_raw);
MACRUM 5:90b5419be471 25 mag.getX(raX);
MACRUM 5:90b5419be471 26 mag.getY(raY);
MACRUM 5:90b5419be471 27 mag.getZ(raZ);
MACRUM 3:e7e62f8a974b 28
MACRUM 3:e7e62f8a974b 29 // LED点滅
MACRUM 5:90b5419be471 30 if (raY > -10 && raY < 10)
MACRUM 5:90b5419be471 31 led = 0;
MACRUM 3:e7e62f8a974b 32 else
MACRUM 5:90b5419be471 33 led = 1;
MACRUM 3:e7e62f8a974b 34
MACRUM 3:e7e62f8a974b 35 // データの出力
MACRUM 3:e7e62f8a974b 36 printf("X: %d, Y: %d, Z:%d\n", raX, raY, raZ);
MACRUM 5:90b5419be471 37 wait(0.2f);
kgilbert 1:d78c639f6b65 38 }
MACRUM 3:e7e62f8a974b 39 }