Los 3 mosqueteros-freescale
/
FRDM_MMA8451Q
Prueba acelerometro - ejemplo recuperado
Fork of FRDM_MMA8451Q by
Diff: main.cpp
- Revision:
- 8:d797bfa9f76e
- Parent:
- 5:bf5becf7469c
- Child:
- 9:d4bffe27a7bf
diff -r 70775be9f474 -r d797bfa9f76e main.cpp --- a/main.cpp Tue Feb 19 23:46:45 2013 +0000 +++ b/main.cpp Fri Feb 21 15:33:38 2014 +0000 @@ -1,18 +1,32 @@ #include "mbed.h" #include "MMA8451Q.h" +#if defined (TARGET_KL25Z) || defined (TARGET_KL46Z) + PinName const SDA = PTE25; + PinName const SCL = PTE24; +#elif defined (TARGET_KL05Z) + PinName const SDA = PTB4; + PinName const SCL = PTB3; +#else + #error TARGET NOT DEFINED +#endif + #define MMA8451_I2C_ADDRESS (0x1d<<1) int main(void) { - MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); - PwmOut rled(LED_RED); - PwmOut gled(LED_GREEN); - PwmOut bled(LED_BLUE); + MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS); + PwmOut rled(LED1); + PwmOut gled(LED2); + PwmOut bled(LED3); + + printf("MMA8451 ID: %d\n", acc.getWhoAmI()); while (true) { - rled = 1.0 - abs(acc.getAccX()); - gled = 1.0 - abs(acc.getAccY()); - bled = 1.0 - abs(acc.getAccZ()); + float x, y, z; + x = rled = 1.0 - abs(acc.getAccX()); + y = gled = 1.0 - abs(acc.getAccY()); + z = bled = 1.0 - abs(acc.getAccZ()); wait(0.1); + printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n", x, y, z); } }