- Messaggi: 4
- Ringraziamenti ricevuti 0
C18 problema con libreria LCD_44780
10 Anni 4 Mesi fa #1
da capelot81
C18 problema con libreria LCD_44780 è stato creato da capelot81
Ciao a tutti,
sto usando la libreria LCD_44780 v1.6 di Marco Laurenti e devo dire che sono molto soddisfatto.
Ho notato che richiamando le funzioni di questa libreria dall'interno della funzione per la gestione delle interrupt il mio pic a volte va in tilt, visualizza caratteri strani per poi bloccarsi definitivamente.
In fase di compilazione compare questo warning:[2054] suspicious pointer conversion
Può essere questa la causa di tutto?
A qualcuno di voi è successa la stessa cosa?
Grazie
sto usando la libreria LCD_44780 v1.6 di Marco Laurenti e devo dire che sono molto soddisfatto.
Ho notato che richiamando le funzioni di questa libreria dall'interno della funzione per la gestione delle interrupt il mio pic a volte va in tilt, visualizza caratteri strani per poi bloccarsi definitivamente.
In fase di compilazione compare questo warning:[2054] suspicious pointer conversion
Può essere questa la causa di tutto?
A qualcuno di voi è successa la stessa cosa?
Grazie
Si prega Accedi o Crea un account a partecipare alla conversazione.
- capelot81
- Autore della discussione
- New Member
Riduci
Di più
10 Anni 4 Mesi fa - 10 Anni 4 Mesi fa #2
da firstcolle
Risposta da firstcolle al topic C18 problema con libreria LCD_44780
Ciao,
credo il problema sia stato già discusso. il problema è che la libreria lcd usa dei delay, ma se arriva un interrupt il delay si blocca per poi riprendere dopo la chiusura del ciclo di gestione dell'interrupt variando così il tempo di delay.
se usi la libreria delay di mauro, nel file delay.h devi decommentare il define della costante DELAY_INTERRUP_BLOCKING (mi pare si chiami cosi) in modo che il delay blocchi temporaneamente gli interrupt.
credo il problema sia stato già discusso. il problema è che la libreria lcd usa dei delay, ma se arriva un interrupt il delay si blocca per poi riprendere dopo la chiusura del ciclo di gestione dell'interrupt variando così il tempo di delay.
se usi la libreria delay di mauro, nel file delay.h devi decommentare il define della costante DELAY_INTERRUP_BLOCKING (mi pare si chiami cosi) in modo che il delay blocchi temporaneamente gli interrupt.
Ultima Modifica 10 Anni 4 Mesi fa da firstcolle.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- firstcolle
- Platinum Member
Riduci
Di più
- Messaggi: 362
- Ringraziamenti ricevuti 39
10 Anni 4 Mesi fa - 10 Anni 4 Mesi fa #3
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic C18 problema con libreria LCD_44780
ad ogni modo è buona "usanza" mantenere le routine di interrupt corte e "semplici". Quindi mettere dentro un interrupt una funzione che lo disabilita, aspetta del tempo e poi lo riabilita, non è proprio il massimo.. io lo farei solo come ultima scelta.
Non credo che l'errore compaia perché chiami la funzione dentro l'interrupt, comunque se posti il codice ci sarà più facile capirne di più.
Ste
Non credo che l'errore compaia perché chiami la funzione dentro l'interrupt, comunque se posti il codice ci sarà più facile capirne di più.
Ste
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Ultima Modifica 10 Anni 4 Mesi fa da StefA.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Moderator
Riduci
Di più
- Messaggi: 1222
- Ringraziamenti ricevuti 104
Moderatori: Mauro Laurenti, StefA
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.