- Messaggi: 144
- Ringraziamenti ricevuti 3
Domandine su librerie Laurtec
Premesso che le sto usando sui PIC16 e so bene che non tutto è compatibile, le domande sono relative al delay e alla LCD_44780 che secondo la grafica sulla pagina di download dovrebbero andare anche sul mio PIC, detto ciò passiamo alle domande:
- Esiste una funzione di delay in microsecondi? Se avessi la necessità di avere delay più piccoli del millisecondo, come posso fare? Devo cercare altre librerie?
- per risparmiare pin sul pic vorrei mettere il piedino R/W del display sempre a massa e la retroilluminazione sempre accesa ma sulla libreria sono costretto a definire comunque quei piedini, come posso fare?
- ho provato a definire dei piedini non utilizzati (ancora) e non configurati, ho collegato il tutto e fatto una prova col classico hello world, il display viene inizializzato ma compaiono caratteri strani. I collegamenti sono quelli classici con modalità a 4 pin e sono stati già controllati, quale potrebbe essere il problema?
Alessio
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Chuck_Norris
- Autore della discussione
- Premium Member
relativamente alle domande:
La libreria LaurTec supporta solo a partire da ms, ma se fai uso del compilatore XC8 puoi facilmente usare le macro di delay per i us. Guarda come e' realizzata la libreria delay.- Esiste una funzione di delay in microsecondi? Se avessi la necessità di avere delay più piccoli del millisecondo, come posso fare? Devo cercare altre librerie?
Il pin R/W viene inizializzato/usato solo nella funzione LCD_initialize. Se lo metti sempre a massa e non lo usi puoi commentare la riga in cui lo si usa nella funzione di inizializzazione. Il file h lo puoi lasciare invariato.- per risparmiare pin sul pic vorrei mettere il piedino R/W del display sempre a massa e la retroilluminazione sempre accesa ma sulla libreria sono costretto a definire comunque quei piedini, come posso fare?
Ricontrolla comunque il montaggio. Considera che i PIC16 non hanno il registro LAT per cui sono piu' sensibili ad errori nel caso in cui le linee tra il PIC e il modulo LCD dovessero essere lunghe (10cm).- ho provato a definire dei piedini non utilizzati (ancora) e non configurati, ho collegato il tutto e fatto una prova col classico hello world, il display viene inizializzato ma compaiono caratteri strani. I collegamenti sono quelli classici con modalità a 4 pin e sono stati già controllati, quale potrebbe essere il problema?
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
Mauro Laurenti ha scritto: La libreria LaurTec supporta solo a partire da ms, ma se fai uso del compilatore XC8 puoi facilmente usare le macro di delay per i us. Guarda come e' realizzata la libreria delay.
non ho capito, le librerie di base della microchip funzionano sui cicli di clock non sui micro secondi (dovrei fare un calcolo veloce ogni volta ma è scomodo)
Ricontrolla comunque il montaggio. Considera che i PIC16 non hanno il registro LAT per cui sono piu' sensibili ad errori nel caso in cui le linee tra il PIC e il modulo LCD dovessero essere lunghe (10cm).
Ho appena lasciato il circuito e il programma com'erano, ho sostituito tutti i cavetti sulla bredboard con altri più corti (tutti lunghi uguale sui 5cm), ho fatto attenzione alla piedinatura ma il risultato non è cambiato. Faccio presente che comunque quando usavo MPLAB con l'hitech C, gli LCD funzionavano tranquillamente su breadboard quindi escludo che il problema sia quello, questa è la prima volta che lo sto usando col nuovo XC8 e purtroppo la mia vecchia libreria non è compatibile (dovrei perdere tempo a sistemarla ma al momento non ho tempo).
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Chuck_Norris
- Autore della discussione
- Premium Member
- Messaggi: 144
- Ringraziamenti ricevuti 3
In XC8 è gia inclusa una macro per l'uso dei us basta che usi la seguente istruzione __delay_us();
all'interno metti il valore che vuoi ma attenzione a non superare 255 ,altrimenti darà errore
Saluti
Andrea
Si prega Accedi o Crea un account a partecipare alla conversazione.
- alfa75
- Platinum Member
- Messaggi: 527
- Ringraziamenti ricevuti 86
alfa75 ha scritto: Ciao Alessio
In XC8 è gia inclusa una macro per l'uso dei us basta che usi la seguente istruzione __delay_us();
all'interno metti il valore che vuoi ma attenzione a non superare 255 ,altrimenti darà errore
Saluti
Andrea
Grazie mille alfa!
Allora usando un mix di librerie delay di Mauro, librerie LCD vecchie che avevo dai tempi dell'Hitech C e funzione __delay_us() inclusa in XC8 sono riuscito a far andare il display ma non capisco perchè, con la libreria LCD_44780 di Mauro non ne voglia sapere di andare.... mi scrive sempre caratteri strani
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Chuck_Norris
- Autore della discussione
- Premium Member
- Messaggi: 144
- Ringraziamenti ricevuti 3
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.