Hola a todos,
encontré este código en la red, es un TimeOut, funciona bien, que básicamente es multiplicar x numero por el delayms(1000).
Pero tengo una duda, cuando se genera ese retardo
delay_ms(1000), la interrupción RDA sigue funcionando?
Es decir, un delay es un retardo, pero el procesador se "congela" por ese momento, de ahí me surge la duda si las interrupciones siguen trabajando a pesar de esos "congelamientos".
O si simplemente funciona este timeout porque la respuesta es muy rápida y obviamente la interrupción RDA alcanza a capturar?
int1 DELAYs(int Delay_ctr)
{
counter_read=0; // Reset buffer counter
while((counter_read==0)&&(Delay_ctr>0)) // stay here until modem responds (X Seconds is arbitrary)
{
delay_ms(1000);
Delay_ctr--;
}
if((counter_read==0)&&(Delay_ctr==0))
return(1);
if((counter_read==0)&&(Delay_ctr>0))
return(0);
}