Rodrigo Miguez / Mbed 2 deprecated i2c_acelerometro

Dependencies:   BLE_API mbed nRF51822 circular_buffer

Committer:
agufal
Date:
Mon Jan 18 15:47:53 2016 +0000
Revision:
2:96f52163ca48
Parent:
1:11ff92032e78
Child:
3:80ceedd5ffac
funciona!

Who changed what in which revision?

UserRevisionLine numberNew contents of line
agufal 0:c123bc196680 1 #include "mbed.h"
agufal 0:c123bc196680 2
agufal 0:c123bc196680 3 I2C i2c(p30, p7);
agufal 0:c123bc196680 4 Serial pc(p9, p11);
agufal 0:c123bc196680 5 //LEDS
agufal 0:c123bc196680 6 DigitalOut led2(LED2);
agufal 0:c123bc196680 7 DigitalOut led1(LED1);
agufal 0:c123bc196680 8 DigitalOut led3(LED3);
agufal 0:c123bc196680 9 DigitalOut led4(LED4);
agufal 0:c123bc196680 10
agufal 0:c123bc196680 11 int main(){
agufal 0:c123bc196680 12
agufal 0:c123bc196680 13 char data_write[2];
agufal 0:c123bc196680 14
agufal 0:c123bc196680 15 led1 = 1;
agufal 0:c123bc196680 16 led2 = 1;
agufal 0:c123bc196680 17 led3 = 1;
agufal 0:c123bc196680 18 led4 = 1;
agufal 0:c123bc196680 19
agufal 2:96f52163ca48 20 data_write[0] = 0x00;
agufal 2:96f52163ca48 21
agufal 2:96f52163ca48 22 i2c.frequency(400000);
agufal 2:96f52163ca48 23 i2c.start();
agufal 2:96f52163ca48 24
agufal 2:96f52163ca48 25 i2c.write(0xAA, data_write, 1);
agufal 2:96f52163ca48 26
agufal 2:96f52163ca48 27 char data_read[7];
agufal 2:96f52163ca48 28 i2c.read(0xAB, data_read, 7, true);
agufal 2:96f52163ca48 29
agufal 2:96f52163ca48 30 if(data_read[0] == 0)
agufal 2:96f52163ca48 31 led1 = 0;
agufal 0:c123bc196680 32
agufal 2:96f52163ca48 33 if(data_read[1] == 0)
agufal 2:96f52163ca48 34 led2 = 0;
agufal 2:96f52163ca48 35
agufal 2:96f52163ca48 36 if(data_read[2] == 0)
agufal 2:96f52163ca48 37 led3 = 0;
agufal 2:96f52163ca48 38
agufal 2:96f52163ca48 39 if(data_read[3] == 0)
agufal 2:96f52163ca48 40 led4 = 0;
agufal 2:96f52163ca48 41
agufal 2:96f52163ca48 42 i2c.stop();
agufal 2:96f52163ca48 43
agufal 2:96f52163ca48 44 //data_write[0] = 0x01;
agufal 2:96f52163ca48 45 //data_write[1] = 0x00;
agufal 2:96f52163ca48 46 //i2c.start();
agufal 2:96f52163ca48 47 //int status = i2c.write(addr,data_write, 2);
agufal 2:96f52163ca48 48
agufal 2:96f52163ca48 49 /*if (status != 0) { // Error
agufal 0:c123bc196680 50 while (1) {
agufal 2:96f52163ca48 51
agufal 0:c123bc196680 52 }
agufal 2:96f52163ca48 53 } */
agufal 2:96f52163ca48 54
agufal 2:96f52163ca48 55 //bool haPasado = false;
agufal 2:96f52163ca48 56
agufal 2:96f52163ca48 57 //i2c.frequency(200000);
agufal 0:c123bc196680 58
agufal 0:c123bc196680 59 /*while(1){
agufal 2:96f52163ca48 60
agufal 2:96f52163ca48 61 i2c.start();
agufal 2:96f52163ca48 62
agufal 2:96f52163ca48 63 wait(0.5);
agufal 2:96f52163ca48 64
agufal 2:96f52163ca48 65 int status = i2c.read(addr, data_read, 3);
agufal 2:96f52163ca48 66
agufal 2:96f52163ca48 67 if (status == 0)
agufal 2:96f52163ca48 68 haPasado = true;
agufal 2:96f52163ca48 69
agufal 2:96f52163ca48 70 if (!haPasado)
agufal 2:96f52163ca48 71 led4 = !led4;
agufal 2:96f52163ca48 72
agufal 2:96f52163ca48 73 i2c.stop();
agufal 2:96f52163ca48 74
agufal 2:96f52163ca48 75 }*/
agufal 0:c123bc196680 76 //i2c.start();
agufal 2:96f52163ca48 77 /*data_write[0] = 0x00;
agufal 0:c123bc196680 78 i2c.write(addr, data_write, 1,1);
agufal 0:c123bc196680 79
agufal 0:c123bc196680 80 i2c.read(addr, data_read, 2,0);
agufal 0:c123bc196680 81
agufal 0:c123bc196680 82 int ch0 =(data_read[0]<<8) | data_read[1];
agufal 0:c123bc196680 83
agufal 0:c123bc196680 84 if (ch0 < 0x001FF){
agufal 0:c123bc196680 85
agufal 0:c123bc196680 86 led1 = 0;
agufal 0:c123bc196680 87 led2 = 1;
agufal 0:c123bc196680 88 led3 = 1;
agufal 0:c123bc196680 89 }
agufal 0:c123bc196680 90 else if (ch0 > 0x001FF && ch0 < 0x0FFF) {
agufal 0:c123bc196680 91
agufal 0:c123bc196680 92 led1 = 1;
agufal 0:c123bc196680 93 led2 = 0;
agufal 0:c123bc196680 94 led3 = 1;
agufal 0:c123bc196680 95
agufal 0:c123bc196680 96 }
agufal 0:c123bc196680 97 else {
agufal 0:c123bc196680 98 led1 = 1;
agufal 0:c123bc196680 99 led2 = 1;
agufal 0:c123bc196680 100 led3 = 0;
agufal 0:c123bc196680 101 }
agufal 0:c123bc196680 102
agufal 0:c123bc196680 103 //pc.printf("channel 0: %x,%x \n", data_read[0], data_read[1]);
agufal 0:c123bc196680 104
agufal 0:c123bc196680 105 wait(0.5);
agufal 0:c123bc196680 106
agufal 0:c123bc196680 107 //i2c.stop();
agufal 0:c123bc196680 108 } */
agufal 0:c123bc196680 109 }