prima bozza del lab2

Dependencies:   MMA8451Q mbed

Committer:
driu91
Date:
Fri Dec 12 21:27:49 2014 +0000
Revision:
1:f954996ba25d
Parent:
0:126b724a2fbc
lo metto sul gruppo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
driu91 0:126b724a2fbc 1 #include "mbed.h"
driu91 0:126b724a2fbc 2 #include "MMA8451Q.h"
driu91 0:126b724a2fbc 3 #include <I2C.h>
driu91 0:126b724a2fbc 4
driu91 0:126b724a2fbc 5 /*
driu91 0:126b724a2fbc 6 #if defined (TARGET_KL25Z) || defined (TARGET_KL46Z)
driu91 0:126b724a2fbc 7 PinName const SDA = PTE25;
driu91 0:126b724a2fbc 8 PinName const SCL = PTE24;
driu91 0:126b724a2fbc 9 #elif defined (TARGET_KL05Z)
driu91 0:126b724a2fbc 10 PinName const SDA = PTB4;
driu91 0:126b724a2fbc 11 PinName const SCL = PTB3;
driu91 0:126b724a2fbc 12 #elif defined (TARGET_K20D50M)
driu91 0:126b724a2fbc 13 PinName const SDA = PTB1;
driu91 0:126b724a2fbc 14 PinName const SCL = PTB0;
driu91 0:126b724a2fbc 15 #else
driu91 0:126b724a2fbc 16 #error TARGET NOT DEFINED
driu91 0:126b724a2fbc 17 #endif
driu91 0:126b724a2fbc 18 */
driu91 0:126b724a2fbc 19 #define MMA8451_I2C_ADDRESS 0x1d
driu91 0:126b724a2fbc 20 #define SDA PTE25
driu91 0:126b724a2fbc 21 #define SCL PTE24
driu91 0:126b724a2fbc 22 int main(void)
driu91 0:126b724a2fbc 23 {
driu91 0:126b724a2fbc 24 Serial pc(USBTX, USBRX);
driu91 0:126b724a2fbc 25
driu91 0:126b724a2fbc 26
driu91 0:126b724a2fbc 27 char ctrl1_readadd = 0x3A;
driu91 0:126b724a2fbc 28 char ctrl1value;
driu91 0:126b724a2fbc 29 bool ack;
driu91 0:126b724a2fbc 30
driu91 0:126b724a2fbc 31 //int reg=0x2A;
driu91 0:126b724a2fbc 32 I2C mm_i2c(SDA,SCL);
driu91 0:126b724a2fbc 33 mm_i2c.frequency(100000);
driu91 0:126b724a2fbc 34 //MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
driu91 0:126b724a2fbc 35 ack = mm_i2c.write(MMA8451_I2C_ADDRESS,&ctrl1_readadd,1,true);
driu91 0:126b724a2fbc 36 if (ack == 1){
driu91 0:126b724a2fbc 37 mm_i2c.write(MMA8451_I2C_ADDRESS,&ctrl1_readadd,1,true);
driu91 1:f954996ba25d 38 };
driu91 1:f954996ba25d 39 if (ack == 1)
driu91 0:126b724a2fbc 40
driu91 0:126b724a2fbc 41 mm_i2c.read(MMA8451_I2C_ADDRESS,&ctrl1value,1,false);
driu91 0:126b724a2fbc 42 pc.printf("%d ",ctrl1value);
driu91 0:126b724a2fbc 43
driu91 0:126b724a2fbc 44
driu91 0:126b724a2fbc 45
driu91 0:126b724a2fbc 46 //i2c.write(MMA8451_I2C_ADDRESS,CTRL_REG & "11111110",8,false);
driu91 0:126b724a2fbc 47
driu91 0:126b724a2fbc 48 /*
driu91 0:126b724a2fbc 49 MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
driu91 0:126b724a2fbc 50 PwmOut rled(LED1);
driu91 0:126b724a2fbc 51 PwmOut gled(LED2);
driu91 0:126b724a2fbc 52 PwmOut bled(LED3);
driu91 0:126b724a2fbc 53
driu91 0:126b724a2fbc 54 printf("MMA8451 ID: %d\n", acc.getWhoAmI());
driu91 0:126b724a2fbc 55
driu91 0:126b724a2fbc 56 while (true) {
driu91 0:126b724a2fbc 57 float x, y, z;
driu91 0:126b724a2fbc 58 x = abs(acc.getAccX());
driu91 0:126b724a2fbc 59 y = abs(acc.getAccY());
driu91 0:126b724a2fbc 60 z = abs(acc.getAccZ());
driu91 0:126b724a2fbc 61 rled = 1.0f - x;
driu91 0:126b724a2fbc 62 gled = 1.0f - y;
driu91 0:126b724a2fbc 63 bled = 1.0f - z;
driu91 0:126b724a2fbc 64 wait(0.1f);
driu91 0:126b724a2fbc 65 printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n", x, y, z);
driu91 0:126b724a2fbc 66 }*/
driu91 0:126b724a2fbc 67 }