Autor Tema: Conflicto entre #INT_EXT y #INT_RB  (Leído 2052 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Medusa

  • PIC18
  • ****
  • Mensajes: 252
Conflicto entre #INT_EXT y #INT_RB
« en: 05 de Febrero de 2014, 22:44:42 »
Hola, alguien me puede ayudar con esto...

Estoy tratando de usar la interrupciones #INT_EXT y #INT_RB de un PIC18F4520, pero con diferente flanco de disparo, para el #INT_EXT flaco de subida (L to H) y para el #INT_RB flanco de bajada (H to L), el problema esta cuando ambas inetrrupciones estan habilitadas el #INT_EXT solo se dispara con flacos de bajada a pesar de estar configirado con flaco de subida, pero cuando deshabilito la #INT_RB, ahora si funciona correctamente la interrupcion del #INT_EXT, alguien le ha sucedido esto...
Aqui esta mi codigo
Código: [Seleccionar]
#include <18F4520.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT
#use delay(clock=20000000)
#use rs232(baud=19200, xmit=PIN_C6, rcv=PIN_C7, timeout=5000)// RS232 Estándar

int Clear_PORTB;

#INT_EXT
void Int_CALL(){

output_toggle(PIN_D0);
}

#INT_RB
void Int_DOOR(){

   output_toggle(PIN_D3);

Clear_PORTB = input_b();

}

void main() {

    ext_int_edge(L_TO_H);
    clear_interrupt(INT_EXT);
    enable_interrupts(int_ext);             
             
    ext_int_edge( H_TO_L );
    clear_interrupt(INT_RB);
    enable_interrupts(int_rb);   
   
    enable_interrupts(global);
       
while(TRUE) {

   delay_ms(100);
   }
}

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Conflicto entre #INT_EXT y #INT_RB
« Respuesta #1 en: 05 de Febrero de 2014, 23:14:58 »
  Si INT_RB se refiere a las de cambio de estado, en éstas no puedes elegir el flanco. Se ejecutan tanto con un flanco positivo como con uno negativo.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado Medusa

  • PIC18
  • ****
  • Mensajes: 252
Re: Conflicto entre #INT_EXT y #INT_RB
« Respuesta #2 en: 05 de Febrero de 2014, 23:21:36 »
 :oops: Cometi un error... tienes razon solo el #INT_EXT se selecciona los flacos, lo que sucede es que cuando habilito #INT_RB por alguna razon cambia el comprtamiento de #INT_EXT, en vez de activarse por flaco se subida como esta configurado lo hacer por el de bajada, pero cuando deshabilito el #INT_RB, el #INT_EXT si funciona correctemente...

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Conflicto entre #INT_EXT y #INT_RB
« Respuesta #3 en: 05 de Febrero de 2014, 23:29:44 »
:oops: Cometi un error... tienes razon solo el #INT_EXT se selecciona los flacos, lo que sucede es que cuando habilito #INT_RB por alguna razon cambia el comprtamiento de #INT_EXT, en vez de activarse por flaco se subida como esta configurado lo hacer por el de bajada, pero cuando deshabilito el #INT_RB, el #INT_EXT si funciona correctemente...

  Estás utilizando dos veces "ext_int_edge()" y justamente en la segunda oportunidad lo configuras para flanco descendente.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado Medusa

  • PIC18
  • ****
  • Mensajes: 252
Re: Conflicto entre #INT_EXT y #INT_RB
« Respuesta #4 en: 06 de Febrero de 2014, 10:38:54 »
 :mrgreen: Hola AngelGris, tienes razon, es increible pero no lo hbaia visto... gracias


 

anything