- Messaggi: 43
- Ringraziamenti ricevuti 2
PIC18F4550 ed interrupt su PORTB
- iv3ynb
-
Autore della discussione
- Anziano Utente
-
lavoro con MPLABX 3.10 XC8 1.34 standard e PicKit3
ho un interrupt su PORTB che si comporta così: voglio far lampeggiare un led di test alla pressione di RB0 e RB1 intercettati da interrupt. Ho inizialmente settato RB6 e RB7 come input, dopo la programmazione l'ìnterrupt ha funzionato, solo che all'atto di STACCARE il PicKit3 dalla scheda, il tutto si bloccava.
Pensandoci bene: RB7 e RB6 meglio lasciarle stare, visto che servono per la programmazione del micro.
Ho quindi modificato usando RB0 ed RB1 per far scattare l'interrupt, spostando parte dei collegamenti del display LCD su un'altra porta; ma l'interrupt non scatta proprio... il compilatore non mi da warning di alcun genere, davvero dopo giorni di prove, non so che pesce pigliare.
Vi lascio il mio codice, se qualcuno volesse darci un'occhiata...
Ringrazio e saluto
Matteo IV3YNB
non esistono domande stupide, ma le risposte...
Si prega Accesso o Crea un account a partecipare alla conversazione.
- firstcolle
-
- Platino Utente
-
- Messaggi: 362
- Ringraziamenti ricevuti 39
visto che usi gli interrupt in altra priorità forse dovresti mettere IPEN = 1.
detto questo io non mi sono mai fidato degli interrupt su cambio di stato di PORT B... se ti serve identificare solo un passaggio da 0 a 1 o da 1 a 0 ti conviene valutare l'uso di INT0 - INT1 su RB0 e RB1
Si prega Accesso o Crea un account a partecipare alla conversazione.
- iv3ynb
-
Autore della discussione
- Anziano Utente
-
- Messaggi: 43
- Ringraziamenti ricevuti 2

Proverò ciò che suggerisci.
Ad maiora
Matteo IV3YNB
non esistono domande stupide, ma le risposte...
Si prega Accesso o Crea un account a partecipare alla conversazione.
- iv3ynb
-
Autore della discussione
- Anziano Utente
-
- Messaggi: 43
- Ringraziamenti ricevuti 2
firstcolle ha scritto: Ciao,
visto che usi gli interrupt in altra priorità forse dovresti mettere IPEN = 1.
Eh... era ovvio... ma dopo che mi sono perso nel codice, ho perso la retta via

firstcolle ha scritto: detto questo io non mi sono mai fidato degli interrupt su cambio di stato di PORT B...
nemmeno a me piaceva, a pelle, questa soluzione, vista la presenza di RB6 e RB7 che mi han dato comunque noia... i tuoi motivi invece? :dry:
firstcolle ha scritto: se ti serve identificare solo un passaggio da 0 a 1 o da 1 a 0 ti conviene valutare l'uso di INT0 - INT1 su RB0 e RB1
Fatto... tutto OK ora, grazie mille !!!

a presto,
Matteo IV3YNB
non esistono domande stupide, ma le risposte...
Si prega Accesso o Crea un account a partecipare alla conversazione.
- firstcolle
-
- Platino Utente
-
- Messaggi: 362
- Ringraziamenti ricevuti 39
il mio problema sui cambi di stato è che, non ricordo bene, hanno un bug e vanno gestiti con una particolare sequenza di lettura/scrittura dei registri. ma li ho trovati poco affidabili. sicuramente meglio gli INT0-1.
Si prega Accesso o Crea un account a partecipare alla conversazione.
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.
Forum - Ultimi messaggi
-
- progetto can
- da marcelloraja
-
- MODULO GSM SIM900A
- da Mauro Laurenti
-
- Freedom III e compilazioni fallite
- da Mauro Laurenti
-
- Gestione degli errori su comunicazione seriale
- da Mauro Laurenti
-
- Timer0 e interrupt
- da Mauro Laurenti