interrupt e pickit2

12 Anni 6 Mesi fa #1 da peperlizio
interrupt e pickit2 è stato creato da peperlizio
Ciao a tutti,
una curiosità.
per mesi mi sono rassegnato all'idea di non essere in grado di lavorare con gli interrupt.
ultimamente ho riprovato seguendo le orme dell'ottimo c18stepbystep.
poi, in un progetto lascio il codice, avvio il prototipo con il pickit2 scollegato e meravigliosamente funziona!! lo ricollego e non rifunziona...
perché?

allego un estratto del codice:

#define BTN_IN LATBbits.LATB0
#define BTN_OUT LATBbits.LATB2
#define LED_IN LATBbits.LATB1
#define LED_OUT LATBbits.LATB3
...

// B0 e B2 in (btn)
// B1 e B3 out (led)
//

B76543210
TRISB = 0b11110101;
LATB = 0x00;
...

void High_Int_Event (void); //prototipo
#pragma code high_interrupt_vector = 0x08 //dichiarazione del vettore di interruzione
void high_interrupt(void){
_asm GOTO High_Int_Event _endasm //salto per la gestione dell'interrupt
}
#pragma code
#pragma interrupt High_Int_Event //associa la gestione delle interruzioni alla funzione High_Int_Event
void High_Int_Event (void) { //Funzione per la gestione dell'interruzione
if(INTCONbits.RBIF==1){
if(PORTBbits.RB0==0){
LED_IN=1;
delay_ms(1000);
LED_IN=0;
}
if(PORTBbits.RB2==0){
LED_OUT=1;
delay_ms(1000);
LED_OUT=0;
}
INTCONbits.RBIF=0; //azzera il flag di interrupt
}
}

Fabrizio

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • peperlizio
  • Avatar di peperlizio
  • New Member
  • New Member
Di più
12 Anni 6 Mesi fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: interrupt e pickit2
Ciao,

il programmatore potrebbe forzare in stato di Reset la CPU bloccando dunque l'esecuzione del programma.

Una volta che colleghi il PICKIT prova a rilasciare il reset del programmatore tramite MPLAB (ovvero senza scollegarlo fisicamente).

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
12 Anni 6 Mesi fa #3 da peperlizio
Risposta da peperlizio al topic Re: interrupt e pickit2
No.
non è quello.
ilcodice gira.
Ci sono rimasto male.
con il programmatore collegato, pigiando sul pulsante non succede niente.
scollego, naturalmente riavvia, ma tutto funzia meravigliosamente.
mah!
tutte a me le cose strane...

Fabrizio

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • peperlizio
  • Avatar di peperlizio
  • New Member
  • New Member
Di più
12 Anni 6 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: interrupt e pickit2
Ciao,

i pulsanti che condividono le linee del programmatore e' normale che non funzionino poiché il programmatore fa da padrone sulle linee di programmazione (quando collegato).

Quali sono i pulsanti che a te non funzionano?

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
12 Anni 6 Mesi fa - 12 Anni 6 Mesi fa #5 da peperlizio
Risposta da peperlizio al topic Re: interrupt e pickit2
Ciao
i pulsanti sono quelli che chiamo btnin e btnout
collegati alle porte b0 e b2

Fabrizio
Ultima Modifica 12 Anni 6 Mesi fa da peperlizio.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • peperlizio
  • Avatar di peperlizio
  • New Member
  • New Member
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login