Toyomasa Watarai
/
k64f-acc-example
FXOS8700Q Accelerometer example for FRDM-K64F
main.cpp@3:e7e62f8a974b, 2019-10-16 (annotated)
- Committer:
- MACRUM
- Date:
- Wed Oct 16 06:11:36 2019 +0000
- Revision:
- 3:e7e62f8a974b
- Parent:
- 1:d78c639f6b65
- Child:
- 5:8ad6d9a777b4
Initial commit
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 | 3:e7e62f8a974b | 10 | FXOS8700QAccelerometer acc(i2c, FXOS8700CQ_SLAVE_ADDR1); |
kgilbert | 0:5ee0fb58a1c8 | 11 | |
MACRUM | 3:e7e62f8a974b | 12 | DigitalOut led_x(LED1); |
MACRUM | 3:e7e62f8a974b | 13 | DigitalOut led_y(LED2); |
MACRUM | 3:e7e62f8a974b | 14 | DigitalOut led_z(LED3); |
kgilbert | 0:5ee0fb58a1c8 | 15 | |
MACRUM | 3:e7e62f8a974b | 16 | int main(void) |
kgilbert | 0:5ee0fb58a1c8 | 17 | { |
MACRUM | 3:e7e62f8a974b | 18 | motion_data_counts_t acc_raw; |
MACRUM | 3:e7e62f8a974b | 19 | int16_t raX, raY, raZ; |
MACRUM | 3:e7e62f8a974b | 20 | |
MACRUM | 3:e7e62f8a974b | 21 | // 加速度センサーの初期化 |
MACRUM | 3:e7e62f8a974b | 22 | acc.enable(); |
MACRUM | 3:e7e62f8a974b | 23 | |
MACRUM | 3:e7e62f8a974b | 24 | while (true) { |
MACRUM | 3:e7e62f8a974b | 25 | // データの取得 |
MACRUM | 3:e7e62f8a974b | 26 | acc.getAxis(acc_raw); |
MACRUM | 3:e7e62f8a974b | 27 | acc.getX(raX); |
MACRUM | 3:e7e62f8a974b | 28 | acc.getY(raY); |
MACRUM | 3:e7e62f8a974b | 29 | acc.getZ(raZ); |
MACRUM | 3:e7e62f8a974b | 30 | |
MACRUM | 3:e7e62f8a974b | 31 | // LED点滅 |
MACRUM | 3:e7e62f8a974b | 32 | if (raX > 0) |
MACRUM | 3:e7e62f8a974b | 33 | led_x = 1; |
MACRUM | 3:e7e62f8a974b | 34 | else |
MACRUM | 3:e7e62f8a974b | 35 | led_x = 0; |
MACRUM | 3:e7e62f8a974b | 36 | if (raY > 0) |
MACRUM | 3:e7e62f8a974b | 37 | led_y = 1; |
MACRUM | 3:e7e62f8a974b | 38 | else |
MACRUM | 3:e7e62f8a974b | 39 | led_y = 0; |
MACRUM | 3:e7e62f8a974b | 40 | if (raZ > 0) |
MACRUM | 3:e7e62f8a974b | 41 | led_z = 1; |
MACRUM | 3:e7e62f8a974b | 42 | else |
MACRUM | 3:e7e62f8a974b | 43 | led_z = 0; |
MACRUM | 3:e7e62f8a974b | 44 | |
MACRUM | 3:e7e62f8a974b | 45 | // データの出力 |
MACRUM | 3:e7e62f8a974b | 46 | printf("X: %d, Y: %d, Z:%d\n", raX, raY, raZ); |
MACRUM | 3:e7e62f8a974b | 47 | wait(0.5f); |
kgilbert | 1:d78c639f6b65 | 48 | } |
MACRUM | 3:e7e62f8a974b | 49 | } |