Hola a todos, estoy teniendo problemas para conectar dos pic 16f877a de forma inalambrica a traves del puerto serie (TX y RX) usando modulos de RF 433MHz, FUNCIONA PERFECTAMENTE hasta que pongo un retardo en el codigo, es decir estoy haciendo un equipo controlado por un teclado inalambrico, y necesito que espere 500mS desde que toma el primer pulso en el bit de entrada antes de volver a leerlo asi no me toma doble la orden, pero al poner el delay_ms en el codigo, deja de funcionar, es más, si activo un boton que por programa no tiene retardo funciona, pero cuando activo el que si tiene ahi se detiene todo...
#include <16f877a.h>
#fuses HS,NOWDT,NOPROTECT,NOPUT,NOLVP,NOBROWNOUT
#use delay(clock=8M)
#use RS232(BAUD=4800, BITS=8, PARITY=N, XMIT=PIN_C6, RCV=PIN_C7, STREAM=SPIC)
#use standard_io(D)
#include <stdio.h>
#define boton_1 PIN_D0 // Pines de los pulsadores
#define boton_2 PIN_D1
#define boton_3 PIN_D2
#define boton_4 PIN_D3
int s_bt[4]; // Almacena los estados de los pulsadores
void main()
{
while(true)
{
if (input(pin_D0)==1){
delay_ms(500);
s_bt[0] = 1;
}
s_bt[1] = input_state(boton_2);
s_bt[2] = input_state(boton_3);
s_bt[3] = input_state(boton_4);
fprintf(SPIC, "%u%u%u%u\r\n", s_bt[0],s_bt[1],s_bt[2],s_bt[3]); // Envia los datos al receptor por RF
s_bt[0] = 0;
}
}