
prima bozza del lab2
main.cpp@0:126b724a2fbc, 2014-12-12 (annotated)
- Committer:
- driu91
- Date:
- Fri Dec 12 11:29:31 2014 +0000
- Revision:
- 0:126b724a2fbc
- Child:
- 1:f954996ba25d
prima bozza
Who changed what in which revision?
User | Revision | Line number | New 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 | 0:126b724a2fbc | 38 | } |
driu91 | 0:126b724a2fbc | 39 | |
driu91 | 0:126b724a2fbc | 40 | mm_i2c.read(MMA8451_I2C_ADDRESS,&ctrl1value,1,false); |
driu91 | 0:126b724a2fbc | 41 | pc.printf("%d ",ctrl1value); |
driu91 | 0:126b724a2fbc | 42 | |
driu91 | 0:126b724a2fbc | 43 | |
driu91 | 0:126b724a2fbc | 44 | |
driu91 | 0:126b724a2fbc | 45 | //i2c.write(MMA8451_I2C_ADDRESS,CTRL_REG & "11111110",8,false); |
driu91 | 0:126b724a2fbc | 46 | |
driu91 | 0:126b724a2fbc | 47 | /* |
driu91 | 0:126b724a2fbc | 48 | MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS); |
driu91 | 0:126b724a2fbc | 49 | PwmOut rled(LED1); |
driu91 | 0:126b724a2fbc | 50 | PwmOut gled(LED2); |
driu91 | 0:126b724a2fbc | 51 | PwmOut bled(LED3); |
driu91 | 0:126b724a2fbc | 52 | |
driu91 | 0:126b724a2fbc | 53 | printf("MMA8451 ID: %d\n", acc.getWhoAmI()); |
driu91 | 0:126b724a2fbc | 54 | |
driu91 | 0:126b724a2fbc | 55 | while (true) { |
driu91 | 0:126b724a2fbc | 56 | float x, y, z; |
driu91 | 0:126b724a2fbc | 57 | x = abs(acc.getAccX()); |
driu91 | 0:126b724a2fbc | 58 | y = abs(acc.getAccY()); |
driu91 | 0:126b724a2fbc | 59 | z = abs(acc.getAccZ()); |
driu91 | 0:126b724a2fbc | 60 | rled = 1.0f - x; |
driu91 | 0:126b724a2fbc | 61 | gled = 1.0f - y; |
driu91 | 0:126b724a2fbc | 62 | bled = 1.0f - z; |
driu91 | 0:126b724a2fbc | 63 | wait(0.1f); |
driu91 | 0:126b724a2fbc | 64 | printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n", x, y, z); |
driu91 | 0:126b724a2fbc | 65 | }*/ |
driu91 | 0:126b724a2fbc | 66 | } |