RoboLeo
20.10.2005, 16:13
HI
Ich habe einen 16F628A PIC. Nun wollte ich ueber die Interruptroutine INT_RB = Interupt on pin change RB4 - RB7 eine einfache LED Steuerung realisieren. Nur so zum testen.
Mit enable_interupts(INT_RB); wird der Interrupt aktiviert.
#int_RB
RB_isr()
{
output_High(PIN_A6);
delay_ms(500);
output_Low(Pin_A6);
}
Ich bin jetzt davon ausgegangen das bei einem Wechsel einer der Eingangspins die LED kurz aufleuchtet und dann wieder erlischt.
Als ich das Programm mal simuliert habe scheint sich der PIC irgendwie in eine Schleife zu begeben. Da der Ausgang A6 bei High-Pegel an einem der Eingangspins blinkt. Sind alle Eingaenge low ist der Ausgang auch Low.
Hab ich da grundsaetzlich was falsch verstanden oder warum funkt das nicht.
Gruss
Ich habe einen 16F628A PIC. Nun wollte ich ueber die Interruptroutine INT_RB = Interupt on pin change RB4 - RB7 eine einfache LED Steuerung realisieren. Nur so zum testen.
Mit enable_interupts(INT_RB); wird der Interrupt aktiviert.
#int_RB
RB_isr()
{
output_High(PIN_A6);
delay_ms(500);
output_Low(Pin_A6);
}
Ich bin jetzt davon ausgegangen das bei einem Wechsel einer der Eingangspins die LED kurz aufleuchtet und dann wieder erlischt.
Als ich das Programm mal simuliert habe scheint sich der PIC irgendwie in eine Schleife zu begeben. Da der Ausgang A6 bei High-Pegel an einem der Eingangspins blinkt. Sind alle Eingaenge low ist der Ausgang auch Low.
Hab ich da grundsaetzlich was falsch verstanden oder warum funkt das nicht.
Gruss