- Messaggi: 45
- Ringraziamenti ricevuti 0
Interrupts
8 Anni 1 Mese fa #6
da Guido72
Risposta da Guido72 al topic Interrupts
Ho postato il prog ma potrebbe non essere l'originale visto che ho fatto parecchie modifiche
nel tentativo di risolvere.
nel tentativo di risolvere.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Guido72
- Autore della discussione
- Senior Member
Riduci
Di più
8 Anni 1 Mese fa #7
da firstcolle
Risposta da firstcolle al topic Interrupts
Quando fai questo
If (PORTBbits.RB4 == 1 & PORTCbits.RC4 == 0)
Devi fare
If ((PORTBbits.RB4 == 1) && (PORTCbits.RC4 == 0))
Come hai scritto tu fai un and logico mentre nel secondo caso verifico che entrambe le condizioni siano rispettate
If (PORTBbits.RB4 == 1 & PORTCbits.RC4 == 0)
Devi fare
If ((PORTBbits.RB4 == 1) && (PORTCbits.RC4 == 0))
Come hai scritto tu fai un and logico mentre nel secondo caso verifico che entrambe le condizioni siano rispettate
Si prega Accedi o Crea un account a partecipare alla conversazione.
- firstcolle
- Platinum Member
Riduci
Di più
- Messaggi: 362
- Ringraziamenti ricevuti 39
8 Anni 1 Mese fa #8
da Guido72
Risposta da Guido72 al topic Interrupts
Ciao Firstcolle,
hai ragione tuttavia , in alcuni programmi l'ho usato senza problemi.....forse un caso .
La doppia parentesi è anche necessaria ?
Saluti
Guido
hai ragione tuttavia , in alcuni programmi l'ho usato senza problemi.....forse un caso .
La doppia parentesi è anche necessaria ?
Saluti
Guido
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Guido72
- Autore della discussione
- Senior Member
Riduci
Di più
- Messaggi: 45
- Ringraziamenti ricevuti 0
8 Anni 1 Mese fa #9
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Interrupts
Per la doppia parentesi e' bene usarla per chiarezza di priorita' degli operatori ma serve formalmente solo quella piu' esterna.
Usare & e && e' effettivamente differente. l'operatore & costringera' il controllo IF a seguire sempre un percorso logico in base al risultato dell'operazione &.
Se il software funziona e' solo un caso e normalmente o esegui sempre l'IF anche se non necessario o esegui sempre un ramo (solo un caso). Per questo durante i software test e' bene testare entrambe le condizioni logiche dell'operatore IF.
In questi contesti entrare in modalita' Debug e' molto utile.
Saluti,
Mauro
Usare & e && e' effettivamente differente. l'operatore & costringera' il controllo IF a seguire sempre un percorso logico in base al risultato dell'operazione &.
Se il software funziona e' solo un caso e normalmente o esegui sempre l'IF anche se non necessario o esegui sempre un ramo (solo un caso). Per questo durante i software test e' bene testare entrambe le condizioni logiche dell'operatore IF.
In questi contesti entrare in modalita' Debug e' molto utile.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
8 Anni 1 Mese fa #10
da Guido72
Risposta da Guido72 al topic Interrupts
Salve Mauro,
ok grazie
Per quel che riguarda il codice che ho allegato in precedenza , hai notato errori (che devono esserci)?
Oltre al display che non legge nulla, ho i seguenti malfunzionamenti:
1) Il display "pulsa" , come se venisse aggiornato circa ogni 1/2 secondo. Ma non sempre.
2) Al verificarsi di un evento sui pin abilitati all'interrupt , il display riporta 2 con una serie di linee orizzontali , come se fosse 2EE (senza le linee verticali delle E). Anche qui , non sempre.
Le impostazioni dei registri del 18F4550 sono della libreria Laurtec , così come le librerie del LCD + delay.
Saluti
Guido
ok grazie
Per quel che riguarda il codice che ho allegato in precedenza , hai notato errori (che devono esserci)?
Oltre al display che non legge nulla, ho i seguenti malfunzionamenti:
1) Il display "pulsa" , come se venisse aggiornato circa ogni 1/2 secondo. Ma non sempre.
2) Al verificarsi di un evento sui pin abilitati all'interrupt , il display riporta 2 con una serie di linee orizzontali , come se fosse 2EE (senza le linee verticali delle E). Anche qui , non sempre.
Le impostazioni dei registri del 18F4550 sono della libreria Laurtec , così come le librerie del LCD + delay.
Saluti
Guido
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Guido72
- Autore della discussione
- Senior Member
Riduci
Di più
- Messaggi: 45
- Ringraziamenti ricevuti 0
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.