Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BLE_API mbed nRF51822 circular_buffer
main.cpp@3:80ceedd5ffac, 2016-01-18 (annotated)
- Committer:
- Alexisfdi
- Date:
- Mon Jan 18 16:26:04 2016 +0000
- Revision:
- 3:80ceedd5ffac
- Parent:
- 2:96f52163ca48
- Child:
- 4:a743917cd04c
Ya no funciona!!
Who changed what in which revision?
| User | Revision | Line number | New 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 | |
| Alexisfdi | 3:80ceedd5ffac | 20 | i2c.frequency(400000); |
| Alexisfdi | 3:80ceedd5ffac | 21 | |
| Alexisfdi | 3:80ceedd5ffac | 22 | while(1){ |
| Alexisfdi | 3:80ceedd5ffac | 23 | |
| Alexisfdi | 3:80ceedd5ffac | 24 | data_write[0] = 0x00; |
| Alexisfdi | 3:80ceedd5ffac | 25 | |
| Alexisfdi | 3:80ceedd5ffac | 26 | i2c.start(); |
| Alexisfdi | 3:80ceedd5ffac | 27 | |
| Alexisfdi | 3:80ceedd5ffac | 28 | i2c.write(0xAB, data_write, 1); |
| Alexisfdi | 3:80ceedd5ffac | 29 | |
| Alexisfdi | 3:80ceedd5ffac | 30 | char data_read[7]; |
| Alexisfdi | 3:80ceedd5ffac | 31 | i2c.read(0xAA, data_read, 7, true); |
| Alexisfdi | 3:80ceedd5ffac | 32 | |
| Alexisfdi | 3:80ceedd5ffac | 33 | if(data_read[0] == 0) |
| Alexisfdi | 3:80ceedd5ffac | 34 | led1 = 0; |
| Alexisfdi | 3:80ceedd5ffac | 35 | |
| Alexisfdi | 3:80ceedd5ffac | 36 | int ch0 =(data_read[1] << 6) | data_read[2] >> 2; |
| Alexisfdi | 3:80ceedd5ffac | 37 | |
| Alexisfdi | 3:80ceedd5ffac | 38 | if(ch0 < 0x00FF) //X |
| Alexisfdi | 3:80ceedd5ffac | 39 | led2 = 0; |
| Alexisfdi | 3:80ceedd5ffac | 40 | else |
| Alexisfdi | 3:80ceedd5ffac | 41 | led2 = 1; |
| Alexisfdi | 3:80ceedd5ffac | 42 | |
| Alexisfdi | 3:80ceedd5ffac | 43 | int ch1 =(data_read[3] << 6) | data_read[4] >> 2; |
| Alexisfdi | 3:80ceedd5ffac | 44 | |
| Alexisfdi | 3:80ceedd5ffac | 45 | if(ch1 < 0x00FF) //Y |
| Alexisfdi | 3:80ceedd5ffac | 46 | led3 = 0; |
| Alexisfdi | 3:80ceedd5ffac | 47 | else |
| Alexisfdi | 3:80ceedd5ffac | 48 | led3 = 1; |
| Alexisfdi | 3:80ceedd5ffac | 49 | |
| Alexisfdi | 3:80ceedd5ffac | 50 | int ch2 =(data_read[5] << 6) | data_read[6] >> 2; |
| Alexisfdi | 3:80ceedd5ffac | 51 | |
| Alexisfdi | 3:80ceedd5ffac | 52 | if(ch2 < 0x00FF) //Z |
| Alexisfdi | 3:80ceedd5ffac | 53 | led4 = 0; |
| Alexisfdi | 3:80ceedd5ffac | 54 | else |
| Alexisfdi | 3:80ceedd5ffac | 55 | led4 = 1; |
| Alexisfdi | 3:80ceedd5ffac | 56 | |
| Alexisfdi | 3:80ceedd5ffac | 57 | /*led1 = 1; |
| Alexisfdi | 3:80ceedd5ffac | 58 | led2 = 1; |
| Alexisfdi | 3:80ceedd5ffac | 59 | led3 = 1; |
| Alexisfdi | 3:80ceedd5ffac | 60 | led4 = 1;*/ |
| Alexisfdi | 3:80ceedd5ffac | 61 | |
| Alexisfdi | 3:80ceedd5ffac | 62 | i2c.stop(); |
| Alexisfdi | 3:80ceedd5ffac | 63 | |
| Alexisfdi | 3:80ceedd5ffac | 64 | wait(0.2); |
| Alexisfdi | 3:80ceedd5ffac | 65 | } |
| agufal | 2:96f52163ca48 | 66 | |
| Alexisfdi | 3:80ceedd5ffac | 67 | /*i2c.write(0xAA, data_write, 1); |
| agufal | 2:96f52163ca48 | 68 | |
| agufal | 2:96f52163ca48 | 69 | char data_read[7]; |
| agufal | 2:96f52163ca48 | 70 | i2c.read(0xAB, data_read, 7, true); |
| agufal | 2:96f52163ca48 | 71 | |
| agufal | 2:96f52163ca48 | 72 | if(data_read[0] == 0) |
| agufal | 2:96f52163ca48 | 73 | led1 = 0; |
| agufal | 0:c123bc196680 | 74 | |
| agufal | 2:96f52163ca48 | 75 | if(data_read[1] == 0) |
| agufal | 2:96f52163ca48 | 76 | led2 = 0; |
| agufal | 2:96f52163ca48 | 77 | |
| agufal | 2:96f52163ca48 | 78 | if(data_read[2] == 0) |
| agufal | 2:96f52163ca48 | 79 | led3 = 0; |
| agufal | 2:96f52163ca48 | 80 | |
| agufal | 2:96f52163ca48 | 81 | if(data_read[3] == 0) |
| agufal | 2:96f52163ca48 | 82 | led4 = 0; |
| agufal | 2:96f52163ca48 | 83 | |
| Alexisfdi | 3:80ceedd5ffac | 84 | i2c.stop();*/ |
| agufal | 2:96f52163ca48 | 85 | |
| agufal | 2:96f52163ca48 | 86 | //data_write[0] = 0x01; |
| agufal | 2:96f52163ca48 | 87 | //data_write[1] = 0x00; |
| agufal | 2:96f52163ca48 | 88 | //i2c.start(); |
| agufal | 2:96f52163ca48 | 89 | //int status = i2c.write(addr,data_write, 2); |
| agufal | 2:96f52163ca48 | 90 | |
| agufal | 2:96f52163ca48 | 91 | /*if (status != 0) { // Error |
| agufal | 0:c123bc196680 | 92 | while (1) { |
| agufal | 2:96f52163ca48 | 93 | |
| agufal | 0:c123bc196680 | 94 | } |
| agufal | 2:96f52163ca48 | 95 | } */ |
| agufal | 2:96f52163ca48 | 96 | |
| agufal | 2:96f52163ca48 | 97 | //bool haPasado = false; |
| agufal | 2:96f52163ca48 | 98 | |
| agufal | 2:96f52163ca48 | 99 | //i2c.frequency(200000); |
| agufal | 0:c123bc196680 | 100 | |
| agufal | 0:c123bc196680 | 101 | /*while(1){ |
| agufal | 2:96f52163ca48 | 102 | |
| agufal | 2:96f52163ca48 | 103 | i2c.start(); |
| agufal | 2:96f52163ca48 | 104 | |
| agufal | 2:96f52163ca48 | 105 | wait(0.5); |
| agufal | 2:96f52163ca48 | 106 | |
| agufal | 2:96f52163ca48 | 107 | int status = i2c.read(addr, data_read, 3); |
| agufal | 2:96f52163ca48 | 108 | |
| agufal | 2:96f52163ca48 | 109 | if (status == 0) |
| agufal | 2:96f52163ca48 | 110 | haPasado = true; |
| agufal | 2:96f52163ca48 | 111 | |
| agufal | 2:96f52163ca48 | 112 | if (!haPasado) |
| agufal | 2:96f52163ca48 | 113 | led4 = !led4; |
| agufal | 2:96f52163ca48 | 114 | |
| agufal | 2:96f52163ca48 | 115 | i2c.stop(); |
| agufal | 2:96f52163ca48 | 116 | |
| agufal | 2:96f52163ca48 | 117 | }*/ |
| agufal | 0:c123bc196680 | 118 | //i2c.start(); |
| agufal | 2:96f52163ca48 | 119 | /*data_write[0] = 0x00; |
| agufal | 0:c123bc196680 | 120 | i2c.write(addr, data_write, 1,1); |
| agufal | 0:c123bc196680 | 121 | |
| agufal | 0:c123bc196680 | 122 | i2c.read(addr, data_read, 2,0); |
| agufal | 0:c123bc196680 | 123 | |
| agufal | 0:c123bc196680 | 124 | int ch0 =(data_read[0]<<8) | data_read[1]; |
| agufal | 0:c123bc196680 | 125 | |
| agufal | 0:c123bc196680 | 126 | if (ch0 < 0x001FF){ |
| agufal | 0:c123bc196680 | 127 | |
| agufal | 0:c123bc196680 | 128 | led1 = 0; |
| agufal | 0:c123bc196680 | 129 | led2 = 1; |
| agufal | 0:c123bc196680 | 130 | led3 = 1; |
| agufal | 0:c123bc196680 | 131 | } |
| agufal | 0:c123bc196680 | 132 | else if (ch0 > 0x001FF && ch0 < 0x0FFF) { |
| agufal | 0:c123bc196680 | 133 | |
| agufal | 0:c123bc196680 | 134 | led1 = 1; |
| agufal | 0:c123bc196680 | 135 | led2 = 0; |
| agufal | 0:c123bc196680 | 136 | led3 = 1; |
| agufal | 0:c123bc196680 | 137 | |
| agufal | 0:c123bc196680 | 138 | } |
| agufal | 0:c123bc196680 | 139 | else { |
| agufal | 0:c123bc196680 | 140 | led1 = 1; |
| agufal | 0:c123bc196680 | 141 | led2 = 1; |
| agufal | 0:c123bc196680 | 142 | led3 = 0; |
| agufal | 0:c123bc196680 | 143 | } |
| agufal | 0:c123bc196680 | 144 | |
| agufal | 0:c123bc196680 | 145 | //pc.printf("channel 0: %x,%x \n", data_read[0], data_read[1]); |
| agufal | 0:c123bc196680 | 146 | |
| agufal | 0:c123bc196680 | 147 | wait(0.5); |
| agufal | 0:c123bc196680 | 148 | |
| agufal | 0:c123bc196680 | 149 | //i2c.stop(); |
| agufal | 0:c123bc196680 | 150 | } */ |
| agufal | 0:c123bc196680 | 151 | } |
