Está en la página 1de 4

#include "mbed.

h"

//LSB MSB
BusOut DATOS(D2,D3,D4,D5,D6,D7,D8,D9);
DigitalOut ENABLES (D14);
DigitalOut RS (D11);
DigitalOut RW (D12);
Serial PUERTO_SERIAL(PA_2,PA_3);
int RX2;
char RX1;
char CLAVE ; //0123456789
uint8_t CADENA[6]={"CLAVE"};
//0123456789ABCDEF
char CADENA2[5];

//------------------------------------------------------------
void R_I (uint8_t COMANDO)
{
RS = 0;
RW = 0;
ENABLES = 0;
DATOS = COMANDO;

ENABLES = 1;
wait_us(1);
ENABLES = 0;

wait_ms(2);
}
//------------------------------------------------------------
void R_D (uint8_t CARACTER)
{
RS = 1;
RW = 0;
ENABLES = 0;
DATOS = CARACTER;

ENABLES = 1;
wait_us(1);
ENABLES = 0;

wait_ms(2);
}
//------------------------------------------------------------
void MENSAJE(void)
{
R_I(128);
R_D('H');
R_D('O');
R_D('L');
R_D('A');
R_D(' ');
R_D('E');
R_D('C');
R_D('C');
R_D('I');
R_I(192);
R_D('C');
R_D('L');
R_D('A');
R_D('V');
R_D('E');
R_D(' ');
R_D('D');
R_D('E');
R_D(' ');
R_D('P');
R_D('R');
R_D('U');
R_D('E');
R_D('B');
R_D('A');
}

void MENSAJE4(void)
{
R_I(128);
R_D('C');
R_D('A');
R_D('M');
R_D('B');
R_D('I');
R_D('A');
R_D('R');
R_D(' ');
R_D(' ');
R_I(192);
R_D('C');
R_D('L');
R_D('A');
R_D('V');
R_D('E');
}

void MENSAJE5(void)
{
R_I(128);
R_D('C');
R_D('L');
R_D('A');
R_D('V');
R_D('E');
R_D(' ');
R_D('N');
R_D('U');
R_D('E');
R_D('V');
R_D('A');
R_I(192);
R_D(CLAVE);
}
//------------------------------------------------------------
void MENSAJE2(void)
{
uint8_t INDICE;
R_I(128);
for(INDICE = 0;INDICE<=5;INDICE++)
{
R_D(CADENA[INDICE]);
wait_ms(50);
}

R_I(192);
for(INDICE = 0;INDICE<=strlen(CADENA2);INDICE++)
{
R_D(CADENA2[INDICE]);
wait_ms(50);
}
}
//------------------------------------------------------------
void INICIALIZAR(void)
{
wait_ms(50);
R_I(0b00110000);

wait_ms(5);
R_I(0b00110000);

wait_ms(1);
R_I(0b00110000);

R_I(0b00111000);
R_I(0b00001111);
R_I(0b00000001);
}
int main()
{ INICIALIZAR();
MENSAJE();
wait(5);
PUERTO_SERIAL.printf("\n\rINGRESAR CLAVE NUEVA!");
wait(2);
while(1)
{
//if(PUERTO_SERIAL2.readable())
// {RX1=PUERTO_SERIAL.putc(PUERTO_SERIAL.getc());}
if(PUERTO_SERIAL.readable())
{
RX2=PUERTO_SERIAL.putc(PUERTO_SERIAL.getc());
if(RX2=='/')
{
INICIALIZAR();
MENSAJE4();

}
}

if(PUERTO_SERIAL.readable())
{

PUERTO_SERIAL.gets(CADENA2,5);

wait(2);
INICIALIZAR();
//MENSAJE4();
//wait(5);
R_I(1);
MENSAJE2();
}

También podría gustarte