Saludos estimados, este es el problema que me he encontrado.
Al arrancar el programa tengo 5 segundos para poner la letra c para entrar al
modo configuracion, si no, se sale del loop y se llama a una rutina que ejecuta una
aplicacion.
El problema que tengo es que si pongo getc(), se queda tildado el loop esperando un
caracter y no sale nunca si no hago nada.
Aca esta el programa. Gracias por sus comentarios.
#include <16F628A.h>
#fuses HS,NOWDT,NOPROTECT,PUT,NOLVP,BROWNOUT
#use delay (clock=20000000)
#use rs232(baud=9600, xmit=PIN_B2, rcv=PIN_B1)
void main(void)
{
int i;
char letra, resp;
printf("pulse c para configurar dentro de los 5 segundos");
for (i=1;i<=50;++i)
{
delay_ms (i);
switch(getc()) // se queda esperando
{
case 'c':
printf("\fEntrando en configuracion...");
delay_ms(200);
configurar();
break;
// un case para ir a escape() si no hago nada en 5 seg como hago?
}
}
printf("\ftiempo finalizado");
}
void configurar(void)
{
printf("\fLISTO PARA CONFIGURACION");
}
void escape(void)
{
printf("\fESCAPO DE CONFIGURACION");
}