#include <16f84A.h>
#include <string.h>
#use delay(clock=4M)
#fuses NOWDT,NOPUT
#use rs232(baud=9600, xmit=PIN_A0, rcv=PIN_A1, FORCE_SW) //manejo del RS232
char string[30];
char pass[8]="entrar";
void main(void){
SET_TRIS_A(0b00010);
while(1){
printf("\n\rPassword: "); // el password es: entrar
gets(string);
if(!strcmp(string, pass)) // cuando la comparación NO es igual, retorna 1
printf("\n\rPassword correcto");
else
printf("\n\rError, intente de nuevo");
}
}
El ejemplo lo saque de aqui: http://www.todopic.com.ar/foros/index.php?topic=26297.0#include <Accediendo a ROM con punteros.h>
BYTE CONST mi_clave []= {9,4,2,1,4,9,8,2};
void main()
{
while(TRUE)
{
int x;
x = mi_clave [2]; //va hacer 2
}
}#include <Recibiendo_datos_Interrupcion_origen.h>
#use rs232(baud=9600, xmit=PIN_B2, rcv=PIN_B1, FORCE_SW) //manejo del RS232
char string[7];
char pass[7]="entrar";
char string1[10], string2[10];
char time_out,x;
short timeout_error;
char timed_getc() {
long timeout;
timeout_error=FALSE;
timeout=0;
while(!kbhit()&&(++timeout<50000)) // 1/2 second
delay_us(10);
if(kbhit())
return(getc());
else {
timeout_error=TRUE;
return(0);
}
}
void main(void){
string1="dasa";
strcpy(string1,"hi");//escribo en string1
strcpy(string2,"there"); //escribo en string2
strcat(string1,string2);// los datos se concatenan en string1
printf("http://www.ccsinfo.com/faq.php?page=getc_timeout\r\n"); // de donde saque
//la funcion timed_getc(); para evitar quedarme dentro de getc indifinidamente
printf("El largo de los dos array es %u\r\n", strlen(string1));
printf("\n\rIngrese la contraseña por favor: "); // el password es: entrar
while(true){
time_out = timed_getc();
while (time_out !=0){ //si time_out es diferente de 0
string[x]=time_out;//coloco el dato en el array string
++x; //incrementamos x para el indice del array
time_out=0; //colocamos time_out en cero de lo contrario nos quedamos siempre
//en el while
}
if(x>5){//si x llego a 5 podemos hacer la comparacion de las contraseñas
if(!strcmp(string, pass)){ // cuando la comparación NO es igual, retorna 1
printf("\n\rPassword correcto");
delay_ms(2500);
printf("\n\rIngrese la contraseña por favor: ");
x=0;
}
else{
printf("\n\rError, intente de nuevo");
delay_ms(2500);
printf("\n\rIngrese la contraseña por favor: ");
x=0;
}
}
}
}
El ejemplo dice que por interrupcion pero existen dos proyectos dentro del rar en donde el otro si uso la interrupcion pero no me servia para lo que queria.