Salve a tutti,
ho avuto dei problemi per quanto riguarda la libreria del lcd1602 con supporto del PCF8574.
Premetto che uso STM32 Blue Pill usando l'arduino IDE
poiché il forum STM32duino non funziona.
Sta di fatto che i dubbi sono prevalentemente software e generali dalla scheda che uso.
Desideravo sapere se esistesse i codici nativi della libreria LCD I2C da mettere direttamente nel file Main del progetto poiché c'è un contrasto quando devo aggiungere il codice per usare la seconda porta I2C della mia scheda.
Succede che la libreria mi va ad usare la prima porta e non si setta con le impostazioni del file main.
Il codice per il cambio della porta I2C è:
TwoWire WIRE2(2, I2C_FAST_MODE);
#define WIRE2 Wire
tale codice se lo metto dentro la libreria
il tutto funziona sulla seconda porta ma solo il codice interno se uso le funzioni sul Main tali funzioni della libreria Wire non vanno.
Il problema è che non posso usare il codice sia nel Main sia nella libreria mi dà un errore di compilazione.
Quindi ho optato per rendere le funzioni del display direttamente nel Main ovvero straripare i codici dalla libreria per metterli nel Main cosicchè il codice che mi imposta la seconda porta I2C diventa univoco e non ci dovrebbero esserci problemi.
Sta di fatto che ho notato la funzione print nella libreria dell'LCD che utilizza l'istruzione "inline" e l'ho mantenuta uguale ma quando scrivo una stringa sul display non visualizzo niente ma solo se richiamo la stessa funzione con un carattere alla volta
Ho cercato in rete e ho trovato che è un problema noto dipendente dalla libreria o Dalla versione dell'IDE.
Sta di fatto che l'ho risolto con un ciclo "for" dove in base ad un BUFFER scrivo la mia stringa e lui mi esegue l'istruzione in base a quanto il Buffer è stato impostato.
Chiedevo se esiste già qualcuno che ha reso i codici della libreria LCD I2C nativi per metterli direttamente nel codice Main Giusto per vedere se sono più semplici o differenti..
Ed anche per l'istruzione "inline" non ho capito cosa serva e se melgio Mettere void o lasciare inline...
Grazie a tutti !!!