prima bozza del lab2

Dependencies:   MMA8451Q mbed

Revision:
0:126b724a2fbc
Child:
1:f954996ba25d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Dec 12 11:29:31 2014 +0000
@@ -0,0 +1,66 @@
+#include "mbed.h"
+#include "MMA8451Q.h"
+#include <I2C.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;
+#elif defined (TARGET_K20D50M)
+  PinName const SDA = PTB1;
+  PinName const SCL = PTB0;
+#else
+  #error TARGET NOT DEFINED
+#endif
+*/
+#define MMA8451_I2C_ADDRESS 0x1d
+#define SDA PTE25
+#define SCL PTE24
+int main(void)
+{
+    Serial pc(USBTX, USBRX);
+
+    
+    char ctrl1_readadd = 0x3A;
+    char ctrl1value;
+    bool ack;
+   
+    //int reg=0x2A;
+    I2C mm_i2c(SDA,SCL);
+    mm_i2c.frequency(100000);
+    //MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
+    ack = mm_i2c.write(MMA8451_I2C_ADDRESS,&ctrl1_readadd,1,true);
+    if (ack == 1){ 
+    mm_i2c.write(MMA8451_I2C_ADDRESS,&ctrl1_readadd,1,true);
+    }
+    
+    mm_i2c.read(MMA8451_I2C_ADDRESS,&ctrl1value,1,false);
+    pc.printf("%d ",ctrl1value);
+    
+
+    
+    //i2c.write(MMA8451_I2C_ADDRESS,CTRL_REG & "11111110",8,false);
+    
+    /*
+    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) {
+        float x, y, z;
+        x = abs(acc.getAccX());
+        y = abs(acc.getAccY());
+        z = abs(acc.getAccZ());
+        rled = 1.0f - x;
+        gled = 1.0f - y;
+        bled = 1.0f - z;
+        wait(0.1f);
+        printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n", x, y, z);
+    }*/
+}