Hola gente, seguramente es un estupidez, pero ya me estoy olvidando de algunas cosas básicas, les comento, si bien los pines A1, A2, A3 y A4 están en bajo (0), la sentencia solo me reconoce A1, el resto pasa de largo, seguro hay algo mal echo...
El main
#include <16F1503.h>
#device ADC=10
#use delay(internal=4MHz)
#use FIXED_IO( C_outputs=PIN_C5,PIN_C4,PIN_C3,PIN_C2,PIN_C1,PIN_C0 )
#fuses NOMCLR NOBROWNOUT NOLVP INTRC_IO
El código
#include <main.h>
int16 sensor1=0;
int16 sensor2=0;
int16 sensor3=0;
int16 sensor4=0;
#INT_RA
void ext_isr(void){
clear_interrupt(INT_RA); // Clear PORTB IOC flag bit
// output_c(input_a());
if(input(pin_A1)==0){
sensor1= sensor1 + 1;
output_toggle(PIN_C1);
output_toggle(PIN_C1);
if (sensor1 == 33){
output_toggle(PIN_C1);
output_toggle(PIN_C1);
sensor1 = 0;
}
}
if(input(pin_A2)==0){
sensor2= sensor2 + 1;
output_toggle(PIN_C2);
output_toggle(PIN_C2);
if (sensor2 == 33){
output_toggle(PIN_C2);
output_toggle(PIN_C2);
sensor2 = 0;
}
}
if(input(pin_A3)==0){
sensor3= sensor3 + 1;
output_toggle(PIN_C3);
output_toggle(PIN_C3);
if (sensor3 == 33){
output_toggle(PIN_C3);
output_toggle(PIN_C3);
sensor3 = 0;
}
}
if(input(pin_A4)==0){
sensor4= sensor4 + 1;
output_toggle(PIN_C5);
output_toggle(PIN_C5);
if (sensor4 == 33){
output_toggle(PIN_C5);
output_toggle(PIN_C5);
sensor4 = 0;
}
}
}
void main()
{
port_a_pullups(0x3F);
port_c_pullups(0x3F);
clear_interrupt(INT_RA); // Clear PORTB IOC flag bit
enable_interrupts(INT_RA); // Enable all PORTB IOC pins
enable_interrupts(GLOBAL); // Enable global interrupts
while(TRUE)
{
}
}
No se si me expresé bien lo que esta pasando... soy medio nuevo en esto..
Desde ya muchas gracias...