Toyomasa Watarai
/
k64f-mag-example
FXOS8700Q Magnetometer example for FRDM-K64F
main.cpp@5:90b5419be471, 2019-10-16 (annotated)
- 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?
User | Revision | Line number | New 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 | } |