Hola
Tengo un problema con un a entrada, que no consigo resolver.
El programa es este:
#include <16f818.h>
#fuses INTRC_IO,NOWDT,NOPROTECT,NOLVP
#use delay(clock=8000000)
#define LED_Verde PIN_B2
#define Detector PIN_B4
void configuracion(void)
{
set_tris_b(0b00010001);
}
void main(void)
{
configuracion();
do {
if(input(Detector))
output_low(LED_Verde);
else
output_high(LED_Verde);
}while(TRUE);
}
El programa simplemente enciende un led, cuando tiene la entrada sobre el rb4.
Si yo dejo el programa como está, activo la entrada y cuando la desactivo el led se queda parpadeando.
Si cambio la configuracion del puerto B por esta: set_tris_b(0b00010000), quitando como entrada el RB0, ya funciona bien.
Resumen:
set_tris_b(0b00010001); Led parpadea
set_tris_b(0b00010000); Funciona OK
Un saludo