- Messaggi: 128
- Ringraziamenti ricevuti 6
18f4550... quanti problemi! External Interrupt INT0 che non interrompe nulla!
12 Anni 1 Mese fa #1
da Nutshell
18f4550... quanti problemi! External Interrupt INT0 che non interrompe nulla! è stato creato da Nutshell
Salve a tutti di nuovo, più lavoro con questo pic, più mi pento di esser passato dalla serie 16 alla serie 18! Prima funzionava tutto a primo colpo, ora qualunque cosa mi fa perdere tempo.
Sto lavorando con gli interrupts, e funzionano perfettamente quelli su PORTB(4:7). Funziona perfettamente l'interrupt generato dall' overflow di TMR0, ma l'external interrupt INT0 non vuole saperne di attivarsi alla pressione del pulsante (il pulsante mette il pin INT0, normalmente collegato ad una res di pull-up, a massa).
Non avendo trovato nulla sul forum immagino sia la prima volta che leggete di questo problema, se trovo la soluzione la posto.
Sto lavorando con gli interrupts, e funzionano perfettamente quelli su PORTB(4:7). Funziona perfettamente l'interrupt generato dall' overflow di TMR0, ma l'external interrupt INT0 non vuole saperne di attivarsi alla pressione del pulsante (il pulsante mette il pin INT0, normalmente collegato ad una res di pull-up, a massa).
Non avendo trovato nulla sul forum immagino sia la prima volta che leggete di questo problema, se trovo la soluzione la posto.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Nutshell
- Autore della discussione
- Premium Member
Riduci
Di più
12 Anni 1 Mese fa - 12 Anni 1 Mese fa #2
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: 18f4550... quanti problemi! External Interrupt INT0 che non interrompe nulla!
Ciao,
potresti postare il codice?
Con i PIC18 ci sono due livelli di priorita' per le interruzioni, questo permette di avere dei vantaggi ma richiede qualche accortezza in piu'.
Non hai fatto male a passare ai PIC18!
Saluti,
Mauro
potresti postare il codice?
Con i PIC18 ci sono due livelli di priorita' per le interruzioni, questo permette di avere dei vantaggi ma richiede qualche accortezza in piu'.
Non hai fatto male a passare ai PIC18!
Saluti,
Mauro
Ultima Modifica 12 Anni 1 Mese fa da Mauro Laurenti.
Si prega Accedi o Crea un account a partecipare alla conversazione.
12 Anni 1 Mese fa - 12 Anni 1 Mese fa #3
da Nutshell
Risposta da Nutshell al topic Re: 18f4550... quanti problemi! External Interrupt INT0 che non interrompe nulla!
Ciao Mauro, il codice è troppo lungo per essere postato, ma essenzialmente ho abilitato l'interrupt INT0, azzerato il flag dell'interrupt INT0, ho impostato la modalità compatibile (Tutti gli interrupt ad alta priorità), ho abilitato gli interrupt globalmente, ho indicato con "pragma code..." il salto alla routine di interrupt ad alta priorità e all' interno di questa per verificare l'interrupt di INT0 ho scritto il solito: if (INT0IF){routine;}
Alla fine mi sono scocciato, non avevo tempo da perdere e per questa volta visto che dovevo implementare un encoder rotativo ho fatto l'implementazione in polling invece che con l'interrupt.
Tieni presente che tutti gli altri interrupt che sto usando funzionano perfettamente (TMR0, RB<4:7>)
Alla fine mi sono scocciato, non avevo tempo da perdere e per questa volta visto che dovevo implementare un encoder rotativo ho fatto l'implementazione in polling invece che con l'interrupt.
Tieni presente che tutti gli altri interrupt che sto usando funzionano perfettamente (TMR0, RB<4:7>)
Ultima Modifica 12 Anni 1 Mese fa da Nutshell.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Nutshell
- Autore della discussione
- Premium Member
Riduci
Di più
- Messaggi: 128
- Ringraziamenti ricevuti 6
12 Anni 1 Mese fa #4
da StefA
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Risposta da StefA al topic Re: 18f4550... quanti problemi! External Interrupt INT0 che non interrompe nulla!
Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Moderator
Riduci
Di più
- Messaggi: 1222
- Ringraziamenti ricevuti 104
12 Anni 1 Mese fa #5
da Nutshell
Risposta da Nutshell al topic Re: 18f4550... quanti problemi! External Interrupt INT0 che non interrompe nulla!
Giusto il discorso di settare l' interrupt sul fronte di discesa, ma ammesso di non averlo fatto, l'interrupt dovrebbe scattare lo stesso nel momento in cui si rilascia il pulsante.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Nutshell
- Autore della discussione
- Premium Member
Riduci
Di più
- Messaggi: 128
- Ringraziamenti ricevuti 6
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.
Login
© LaurTec 2006 - 2024