prima bozza del lab2

Dependencies:   MMA8451Q mbed

main.cpp

Committer:
driu91
Date:
2014-12-12
Revision:
0:126b724a2fbc
Child:
1:f954996ba25d

File content as of revision 0:126b724a2fbc:

#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);
    }*/
}