prueba para el funcionamiento de la tarjeta de comunicacion I2C

Dependencies:   mbed TextLCD

Committer:
Antulius
Date:
Fri Oct 25 21:47:07 2019 +0000
Revision:
0:d09d48e54bdd
i2c

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Antulius 0:d09d48e54bdd 1 /* #############################################################################
Antulius 0:d09d48e54bdd 2 ** Archivo : main.c
Antulius 0:d09d48e54bdd 3 ** Proyecto : STM32-F103C8_I2C_Scanner
Antulius 0:d09d48e54bdd 4 ** Procesador : STM32F103C8T6
Antulius 0:d09d48e54bdd 5 ** Plataforma : Blue Pill
Antulius 0:d09d48e54bdd 6 ** Herramienta : Mbed Compiler
Antulius 0:d09d48e54bdd 7 ** Version : Driver 01.01
Antulius 0:d09d48e54bdd 8 ** Compilador : GNU C Compiler
Antulius 0:d09d48e54bdd 9 ** Fecha/Hora : 14-07-2015, 11:48, # CodeGen: 0
Antulius 0:d09d48e54bdd 10 ** Descripción :
Antulius 0:d09d48e54bdd 11 ** Esta utileria inspecciona el bus I2C y enumera los dispositivos
Antulius 0:d09d48e54bdd 12 ** conectados. Proporciona su dirección base (en DEC y HEX).
Antulius 0:d09d48e54bdd 13 ** Componentes : I2C, Serial and Digital Output.
Antulius 0:d09d48e54bdd 14 ** Configuraciones : Includes, Stacks y Drivers externos
Antulius 0:d09d48e54bdd 15 ** Autores :
Antulius 0:d09d48e54bdd 16 ** ATEAM Development Group:
Antulius 0:d09d48e54bdd 17 ** - Antulio Morgado Valle
Antulius 0:d09d48e54bdd 18 **
Antulius 0:d09d48e54bdd 19 ** Versión : Beta
Antulius 0:d09d48e54bdd 20 ** Revisión : A
Antulius 0:d09d48e54bdd 21 ** Release : 0
Antulius 0:d09d48e54bdd 22 ** Date : 20/10/2019
Antulius 0:d09d48e54bdd 23 ** Bugs & Fixes :
Antulius 0:d09d48e54bdd 24 **
Antulius 0:d09d48e54bdd 25 ** Permission is hereby granted, free of charge, to any person obtaining a copy
Antulius 0:d09d48e54bdd 26 ** of this software and associated documentation files (the "Software"), to deal
Antulius 0:d09d48e54bdd 27 ** in the Software without restriction, including without limitation the rights
Antulius 0:d09d48e54bdd 28 ** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
Antulius 0:d09d48e54bdd 29 ** copies of the Software, and to permit persons to whom the Software is
Antulius 0:d09d48e54bdd 30 ** furnished to do so, subject to the following conditions:
Antulius 0:d09d48e54bdd 31 **
Antulius 0:d09d48e54bdd 32 ** The above copyright notice and this permission notice shall be included in
Antulius 0:d09d48e54bdd 33 ** all copies or substantial portions of the Software.
Antulius 0:d09d48e54bdd 34 **
Antulius 0:d09d48e54bdd 35 ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
Antulius 0:d09d48e54bdd 36 ** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
Antulius 0:d09d48e54bdd 37 ** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
Antulius 0:d09d48e54bdd 38 ** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
Antulius 0:d09d48e54bdd 39 ** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
Antulius 0:d09d48e54bdd 40 ** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
Antulius 0:d09d48e54bdd 41 ** THE SOFTWARE.
Antulius 0:d09d48e54bdd 42 ** ###########################################################################*/
Antulius 0:d09d48e54bdd 43 /*
Antulius 0:d09d48e54bdd 44 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Antulius 0:d09d48e54bdd 45 : Includes
Antulius 0:d09d48e54bdd 46 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Antulius 0:d09d48e54bdd 47 */
Antulius 0:d09d48e54bdd 48 #include "stm32f103c8t6.h"
Antulius 0:d09d48e54bdd 49 #include "mbed.h"
Antulius 0:d09d48e54bdd 50 #include "I2C.h"
Antulius 0:d09d48e54bdd 51 #include "Serial.h"
Antulius 0:d09d48e54bdd 52
Antulius 0:d09d48e54bdd 53 /*
Antulius 0:d09d48e54bdd 54 :...............................................................................
Antulius 0:d09d48e54bdd 55 : Definiciones
Antulius 0:d09d48e54bdd 56 :...............................................................................
Antulius 0:d09d48e54bdd 57 */
Antulius 0:d09d48e54bdd 58 #define Buzz_Off 0 // Estado del Buzzer Apagado
Antulius 0:d09d48e54bdd 59 #define Buzz_On 1 // Estado del Buzzer Encendido
Antulius 0:d09d48e54bdd 60 /*
Antulius 0:d09d48e54bdd 61 +-------------------------------------------------------------------------------
Antulius 0:d09d48e54bdd 62 | Configuración de Puertos
Antulius 0:d09d48e54bdd 63 +-------------------------------------------------------------------------------
Antulius 0:d09d48e54bdd 64 */
Antulius 0:d09d48e54bdd 65 DigitalOut led_monitor(Green_Led); // Inicializa el LED Monitor
Antulius 0:d09d48e54bdd 66 DigitalOut buzzer (PB_1); // Inicializa el Buzzer Piezo Eléctrico
Antulius 0:d09d48e54bdd 67 //Serial terminal(PA_2, PA_3); // Inicializa la Comunicación Serial a la PC
Antulius 0:d09d48e54bdd 68
Antulius 0:d09d48e54bdd 69 /*
Antulius 0:d09d48e54bdd 70 ** -------------------------------------------------------------------
Antulius 0:d09d48e54bdd 71 ** Inicialización de los Pines de Funciones Especiales.
Antulius 0:d09d48e54bdd 72 ** -------------------------------------------------------------------
Antulius 0:d09d48e54bdd 73 */
Antulius 0:d09d48e54bdd 74 /*************************************************
Antulius 0:d09d48e54bdd 75 * Initialize the library with the numbers of the interface pins
Antulius 0:d09d48e54bdd 76 * Board STM32F103C8
Antulius 0:d09d48e54bdd 77 * IDE Mbed On Line Compiler
Antulius 0:d09d48e54bdd 78 * LCD I2C PCF8574A
Antulius 0:d09d48e54bdd 79 * Pin Board LCD
Antulius 0:d09d48e54bdd 80 * I2C_SCL SCL (white) + resistance pull-up 4.7k
Antulius 0:d09d48e54bdd 81 * I2C_SDA SDA (blue) + resistance pull-up 4.7k
Antulius 0:d09d48e54bdd 82 * 5V 5V (red)
Antulius 0:d09d48e54bdd 83 * GND GND (black)
Antulius 0:d09d48e54bdd 84 ***************************************************/
Antulius 0:d09d48e54bdd 85 //LiquidCrystal_I2C lcd(0x7E, LCDCOLUMNAS, LCDFILAS);
Antulius 0:d09d48e54bdd 86 //i2c_LCD lcd(0x7E, LCDCOLUMNAS, LCDFILAS);
Antulius 0:d09d48e54bdd 87
Antulius 0:d09d48e54bdd 88 /**************************************************/
Antulius 0:d09d48e54bdd 89 // Host PC Communication channels
Antulius 0:d09d48e54bdd 90 //Serial terminal(USBTX, USBRX); // Tx, Rx
Antulius 0:d09d48e54bdd 91 //Serial terminal(PA_9, PA_10); // Tx, Rx Using MAX3232 or BlueTooth
Antulius 0:d09d48e54bdd 92 Serial terminal(PA_2,PA_3); // Tx, Rx Terminal Serial (TTL Level)
Antulius 0:d09d48e54bdd 93
Antulius 0:d09d48e54bdd 94 // Bluetooth Communication support
Antulius 0:d09d48e54bdd 95 //Serial bluetooth(PA_2, PA_3); // Tx, Rx
Antulius 0:d09d48e54bdd 96
Antulius 0:d09d48e54bdd 97 // I2C Communication
Antulius 0:d09d48e54bdd 98 I2C i2c_wire(PB_7,PB_6); // SDA, SCL
Antulius 0:d09d48e54bdd 99 //I2C i2c_wire(PB_9,PB_8); // SDA, SCL
Antulius 0:d09d48e54bdd 100 //I2C i2c_wire(I2C_SDA,I2C_SCL); // SDA, SCL
Antulius 0:d09d48e54bdd 101 //I2C i2c_wire(PB_11,PB_10); // SDA, SCL (Alternativo)
Antulius 0:d09d48e54bdd 102
Antulius 0:d09d48e54bdd 103 /*
Antulius 0:d09d48e54bdd 104 +-------------------------------------------------------------------------------
Antulius 0:d09d48e54bdd 105 | Variables Globales de Usuario
Antulius 0:d09d48e54bdd 106 +-------------------------------------------------------------------------------
Antulius 0:d09d48e54bdd 107 */
Antulius 0:d09d48e54bdd 108 // Las variables globales del usuario van aquí !
Antulius 0:d09d48e54bdd 109 /*
Antulius 0:d09d48e54bdd 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Antulius 0:d09d48e54bdd 111 | Definición de Funciones Prototipo y Rutinas de los Vectores de Interrupción
Antulius 0:d09d48e54bdd 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Antulius 0:d09d48e54bdd 113 */
Antulius 0:d09d48e54bdd 114 void I2C_Scanner(void);
Antulius 0:d09d48e54bdd 115
Antulius 0:d09d48e54bdd 116 /* END Definitions */
Antulius 0:d09d48e54bdd 117 /*
Antulius 0:d09d48e54bdd 118 #===============================================================================
Antulius 0:d09d48e54bdd 119 |
Antulius 0:d09d48e54bdd 120 | P R O G R A M A P R I N C I P A L
Antulius 0:d09d48e54bdd 121 |
Antulius 0:d09d48e54bdd 122 #===============================================================================
Antulius 0:d09d48e54bdd 123 */
Antulius 0:d09d48e54bdd 124 int main()
Antulius 0:d09d48e54bdd 125 { // Inicialización de variables, puertos e interrupciones
Antulius 0:d09d48e54bdd 126 confSysClock(); // Inicialización del Sistema, Configure system clock (72MHz HSE clock, 48MHz USB clock)
Antulius 0:d09d48e54bdd 127 terminal.baud(115200); // Se configura la velocidad de transmisión e inicia la comunicación serial.
Antulius 0:d09d48e54bdd 128 terminal.printf(" System is Wake Up!.\n\r");
Antulius 0:d09d48e54bdd 129
Antulius 0:d09d48e54bdd 130 /* Prueba del Buzzer */
Antulius 0:d09d48e54bdd 131 terminal.printf("Testing Buzzer... \n\r");
Antulius 0:d09d48e54bdd 132 buzzer = Buzz_On;
Antulius 0:d09d48e54bdd 133 wait_ms(750);
Antulius 0:d09d48e54bdd 134 buzzer = Buzz_Off;
Antulius 0:d09d48e54bdd 135 wait_ms(125);
Antulius 0:d09d48e54bdd 136 buzzer = Buzz_On;
Antulius 0:d09d48e54bdd 137 wait_ms(250);
Antulius 0:d09d48e54bdd 138 buzzer = Buzz_Off;
Antulius 0:d09d48e54bdd 139 wait_ms(125);
Antulius 0:d09d48e54bdd 140 buzzer = Buzz_On;
Antulius 0:d09d48e54bdd 141 wait_ms(500);
Antulius 0:d09d48e54bdd 142 buzzer = Buzz_Off;
Antulius 0:d09d48e54bdd 143
Antulius 0:d09d48e54bdd 144 while (true) // El Lazo del Programa principal está aquí !!!
Antulius 0:d09d48e54bdd 145 {
Antulius 0:d09d48e54bdd 146 I2C_Scanner();
Antulius 0:d09d48e54bdd 147 terminal.printf ("\n\rVolver a Diagnosticar?\n\r");
Antulius 0:d09d48e54bdd 148 getchar();
Antulius 0:d09d48e54bdd 149 }
Antulius 0:d09d48e54bdd 150 }
Antulius 0:d09d48e54bdd 151 /* END Main */
Antulius 0:d09d48e54bdd 152
Antulius 0:d09d48e54bdd 153 /*
Antulius 0:d09d48e54bdd 154 ................................................................................
Antulius 0:d09d48e54bdd 155 : Rutinas de los Vectores de Interrupción
Antulius 0:d09d48e54bdd 156 ................................................................................
Antulius 0:d09d48e54bdd 157 */
Antulius 0:d09d48e54bdd 158 // Los Servicios a Interrupciones van aquí !
Antulius 0:d09d48e54bdd 159 /* END Events */
Antulius 0:d09d48e54bdd 160 /*
Antulius 0:d09d48e54bdd 161 ________________________________________________________________________________
Antulius 0:d09d48e54bdd 162 |
Antulius 0:d09d48e54bdd 163 | Funciones Prototipo
Antulius 0:d09d48e54bdd 164 |_______________________________________________________________________________
Antulius 0:d09d48e54bdd 165 */
Antulius 0:d09d48e54bdd 166 // Las Funciones Prototipo van aquí !
Antulius 0:d09d48e54bdd 167 void I2C_Scanner()
Antulius 0:d09d48e54bdd 168 {
Antulius 0:d09d48e54bdd 169 terminal.printf ("I2C scanner. Scanning ...");
Antulius 0:d09d48e54bdd 170 uint8_t count = 0;
Antulius 0:d09d48e54bdd 171 // char test[] = {0x55,0xAA,0x0F,0xF0,0xFF,0x00}; // Patrón de Prueba
Antulius 0:d09d48e54bdd 172
Antulius 0:d09d48e54bdd 173 char test[] = { 0b00000000, 0b00000000, // Datos en DB7=DB6=DB5=DB4=0, LED+=0, EN=0,RW=0,RS=0 // Patrón de Prueba LCD (LSN first)
Antulius 0:d09d48e54bdd 174 0b00111110, 0b00111010, // Datos en DB5=DB4=1, LED+=1, EN=1,0,RW=1,RS=0
Antulius 0:d09d48e54bdd 175 0b00111110, 0b00111010, // Datos en DB5=DB4=1, LED+=1, EN=1,0,RW=1,RS=0
Antulius 0:d09d48e54bdd 176 0b00111110, 0b00111010, // Datos en DB5=DB4=1, LED+=1, EN=1,0,RW=1,RS=0
Antulius 0:d09d48e54bdd 177 0b00101110, 0b00100010, // Datos en DB5=1, LED+=1, EN=1,0,RW=1,RS=0
Antulius 0:d09d48e54bdd 178 0b00101110, 0b00100010, // => Function Set Control: DB5=1, LED+=1, EN=1,0,RW=1,RS=0
Antulius 0:d09d48e54bdd 179 0b10001110, 0b10001110, // => Function Set Control: DB7=N=1 2 líneas, DB6=F=0 5x7puntos, LED+=1, EN=1,0,RW=1,RS=0
Antulius 0:d09d48e54bdd 180 0b00001110, 0b00000010, // => Display ON/OFF Control: DB7=DB6=DB5=DB4=0, LED+=1, EN=1,0,RW=1,RS=0
Antulius 0:d09d48e54bdd 181 0b00101110, 0b00100010, // => Display ON/OFF Control: DB7=1 (Display off, cursor off, blink off),LED+=1, EN=1,0,RW=1,RS=0
Antulius 0:d09d48e54bdd 182 0b00001110, 0b00000010, // => Display Clear: DB7=DB6=DB5=DB4=0, LED+=1, EN=1,0,RW=1,RS=0
Antulius 0:d09d48e54bdd 183 0b00011110, 0b00010010, // => Display Clear: D4=1, LED+=1, EN=1,0,RW=1,RS=0
Antulius 0:d09d48e54bdd 184 0b00001110, 0b00000010, // => Cursor Home: DB7=DB6=DB5=DB4=0, LED+=1, EN=1,0,RW=1,RS=0
Antulius 0:d09d48e54bdd 185 0b00101110, 0b00100010, // => Cursor Home: DB5=1, LED+=1, EN=1,0,RW=1,RS=0 , (Cursor Home};
Antulius 0:d09d48e54bdd 186 0b01001111, 0b00001011, // => Text 0x48: DB5=1, LED+=1, EN=1,0,RW=1,RS=1
Antulius 0:d09d48e54bdd 187 0b10001111, 0b00101011, // => Text "H" : DB7=1, LED+=1, EN=1,0,RW=1,RS=1 , (ASCII "H"}
Antulius 0:d09d48e54bdd 188 0b01101111, 0b01101011, // => Text 0x6F: DB5=1, LED+=1, EN=1,0,RW=1,RS=1
Antulius 0:d09d48e54bdd 189 0b11111111, 0b11111011, // => Text "o" : DB7=DB6=DB5=DB4=1, LED+=1, EN=1,0,RW=1,RS=1 , (ASCII "o"}
Antulius 0:d09d48e54bdd 190 0b01101111, 0b01101011, // => Text 0x6C: DB6=DB5=1, LED+=1, EN=1,0,RW=1,RS=1
Antulius 0:d09d48e54bdd 191 0b11001111, 0b11001011, // => Text "l" : DB7=DB6=1, LED+=1, EN=1,0,RW=1,RS=1 , (ASCII "l"}
Antulius 0:d09d48e54bdd 192 0b01101111, 0b01101011, // => Text 0x61: DB6=DB5=1, LED+=1, EN=1,0,RW=1,RS=1
Antulius 0:d09d48e54bdd 193 0b00011111, 0b00011011, // => Text "a" : DB4=1, LED+=1, EN=1,0,RW=1,RS=1 , (ASCII "a"}
Antulius 0:d09d48e54bdd 194 0b00101111, 0b00101011, // => Text 0x21: DB5=1, LED+=1, EN=1,0,RW=1,RS=1
Antulius 0:d09d48e54bdd 195 0b00011111, 0b00011011};// => Text "!" : DB4=1, LED+=1, EN=1,0,RW=1,RS=1 , (ASCII "!"}
Antulius 0:d09d48e54bdd 196 /*
Antulius 0:d09d48e54bdd 197 char test[] = { 0b00000000, 0b00000000, // RS=0,RW=1, EN=0, LED+=1, DB4=DB5=DB6=DB7=0 // Patrón de Prueba para LCD (MSN first)
Antulius 0:d09d48e54bdd 198 0b01111100, 0b01011100, // RS=0,RW=1, EN=1,0, LED+=1, DB5=DB4=1 en datos,
Antulius 0:d09d48e54bdd 199 0b01111100, 0b01011100, // RS=0,RW=1, EN=1,0, LED+=1, DB5=DB4=1 en datos,
Antulius 0:d09d48e54bdd 200 0b01111100, 0b01011100, // RS=0,RW=1, EN=1,0, LED+=1, DB5=DB4=1 en datos,
Antulius 0:d09d48e54bdd 201 0b01110100, 0b01010100, // RS=0,RW=1, EN=1,0, LED+=1, DB5=1 en datos,
Antulius 0:d09d48e54bdd 202 0b01100100, 0b00100100, // => Function Set Control: RS=0, RW=1, EN=1,0, LED+=1, DB5=1 en datos,
Antulius 0:d09d48e54bdd 203 0b01100110, 0b00100001, // => Function Set Control: RS=0, RW=1, EN=1,0, LED+=1, DB7=N=1 2 líneas, DB6=F=0 5x7puntos,
Antulius 0:d09d48e54bdd 204 0b01100000, 0b00100000, // => Display ON/OFF Control: RS=0, RW=1, EN=1,0, LED+=1, DB4=DB5=DB6=DB7=0 en datos,
Antulius 0:d09d48e54bdd 205 0b01100001, 0b00100001, // => Display ON/OFF Control: RS=0, RW=1, EN=1,0, LED+=1, DB7=1 (Display off, cursor off, blink off)
Antulius 0:d09d48e54bdd 206 0b01100000, 0b00100000, // => Display Clear: RS=0, RW=1, EN=1,0, LED+=1, DB4=DB5=DB6=DB7=0 en datos
Antulius 0:d09d48e54bdd 207 0b01101000, 0b00101000, // => Display Clear: RS=0, RW=1, EN=1,0, LED+=1, DB4=1 en datos, (Clear Diplay)
Antulius 0:d09d48e54bdd 208 0b01100000, 0b00100000, // => Cursor Home: RS=0, RW=1, EN=1,0, LED+=1, DB4=DB5=DB6=DB7=0 en datos
Antulius 0:d09d48e54bdd 209 0b01101000, 0b00101000, // => Cursor Home: RS=0, RW=1, EN=1,0, LED+=1, DB5=1 en datos, (Cursor Home)
Antulius 0:d09d48e54bdd 210 0b11110100, 0b11010100, // => Text 0x48: RS=1, RW=1, EN=1,0, LED+=1, DB5=1, (ASCII "H")
Antulius 0:d09d48e54bdd 211 0b11110001, 0b11010001, // => Text "H" : RS=1, RW=1, EN=1,0, LED+=1, DB7=1
Antulius 0:d09d48e54bdd 212 0b11110110, 0b11010110, // => Text 0x6F: RS=1, RW=1, EN=1,0, LED+=1, DB5=DB6=1, (ASCII "o")
Antulius 0:d09d48e54bdd 213 0b11111111, 0b11011111, // => Text "o" : RS=1, RW=1, EN=1,0, LED+=1, DB4=DB5=DB6=DB7=1
Antulius 0:d09d48e54bdd 214 0b11110110, 0b11010110, // => Text 0x6C: RS=1, RW=1, EN=1,0, LED+=1, DB5=DB6=1, (ASCII "l")
Antulius 0:d09d48e54bdd 215 0b11110011, 0b11010011, // => Text "l" : RS=1, RW=1, EN=1,0, LED+=1, DB6=DB7=1
Antulius 0:d09d48e54bdd 216 0b11110110, 0b11010110, // => Text 0x61: RS=1, RW=1, EN=1,0, LED+=1, DB5=DB6=1, (ASCII "a")
Antulius 0:d09d48e54bdd 217 0b11111000, 0b11011000, // => Text "a" : RS=1, RW=1, EN=1,0, LED+=1, DB4=1
Antulius 0:d09d48e54bdd 218 0b11110100, 0b11010100, // => Text 0x21: RS=1, RW=1, EN=1,0, LED+=1, DB5=1, (ASCII "!")
Antulius 0:d09d48e54bdd 219 0b11111000, 0b11011000};// => Text "!" : RS=1, RW=1, EN=1,0, LED+=1, DB4=1
Antulius 0:d09d48e54bdd 220 */
Antulius 0:d09d48e54bdd 221 i2c_wire.frequency(100000); // Frecuencia de operación para el I2C (100KHz)
Antulius 0:d09d48e54bdd 222 i2c_wire.start(); // Inicio de operación para el I2C
Antulius 0:d09d48e54bdd 223 for (int i = 8; i < 128; i++)
Antulius 0:d09d48e54bdd 224 {
Antulius 0:d09d48e54bdd 225 uint8_t acknoledge = i2c_wire.write (i,test,46,1); //(dirección, ap_datos, N°_datos, repetición)
Antulius 0:d09d48e54bdd 226 if (acknoledge == 0)
Antulius 0:d09d48e54bdd 227 {
Antulius 0:d09d48e54bdd 228 terminal.printf ("\n\rFound address: ");
Antulius 0:d09d48e54bdd 229 terminal.printf ("%u DEC",i); // Valor de la dirección en Decimal
Antulius 0:d09d48e54bdd 230 terminal.printf (" (0x%x HEX)\n\r",i); // Valor de la dirección en Hexadecimal
Antulius 0:d09d48e54bdd 231 // terminal.printf (" (0x%hd HEX)\n\r",i); // Valor de la dirección en Hexadecimal
Antulius 0:d09d48e54bdd 232 count++;
Antulius 0:d09d48e54bdd 233 wait (1); // Tal vez Innecesario?
Antulius 0:d09d48e54bdd 234 } // end of good response
Antulius 0:d09d48e54bdd 235 led_monitor = !led_monitor; // Parapadeo del LED
Antulius 0:d09d48e54bdd 236 } // end of for loop
Antulius 0:d09d48e54bdd 237 led_monitor = 1; // Apaga el LED
Antulius 0:d09d48e54bdd 238 i2c_wire.stop(); // Fin de operación para el I2C
Antulius 0:d09d48e54bdd 239 terminal.printf ("\n\rDone.\n\r");
Antulius 0:d09d48e54bdd 240 terminal.printf ("Found %d Device(s)\n\r",count);
Antulius 0:d09d48e54bdd 241 } // end of setup
Antulius 0:d09d48e54bdd 242
Antulius 0:d09d48e54bdd 243 /* END Functions */
Antulius 0:d09d48e54bdd 244
Antulius 0:d09d48e54bdd 245 /* END Program */
Antulius 0:d09d48e54bdd 246
Antulius 0:d09d48e54bdd 247 /* END Mbed */