TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: skm en 28 de Mayo de 2007, 10:08:33
-
Muy buenas a todos!
Tengo un probremilla con las interrupciones. No e porque pero en el trozo de codigo que adjunto mas abajo solo me funcioan la INT_EXT. Ni la INT_EXT1 ni la INT_EXT2 dan senales de vida. Alguien podria decirme lo que estoy haciendo mal?
Estoy simulando en Proteus, pudiera ser este el problema?
Tengo 3 leds en port a0, port a1 y port a2. Con la INT primera puedo encender qualquiera de los 3.
Gracias de antemano
#include <18F4520.h>
void main() {
enable_interrupts(GLOBAL);
enable_interrupts(INT_EXT);
enable_interrupts(INT_EXT1);
enable_interrupts(INT_EXT2);
ext_int_edge(0, H_TO_L);
ext_int_edge(1, H_TO_L);
ext_int_edge(2, H_TO_L);
do {
} while (TRUE);
}
#INT_EXT
Interrupt0()
{
output_bit(PIN_A1,0); //led
}
#INT_EXT1
Interrupt1()
{
output_bit(PIN_A0,0); //led
}
#INT_EXT2
Interrupt2()
{
output_bit(PIN_A2,0); //led
}
-
Proba poniendo output_high (PIN_A0) ó output_low (PIN_A0), si estas usando CCS.