Pagina 1 di 1

Come potrebbe funzionare questo codice ?

MessaggioInviato: 5 set 2019, 11:38
da DeltaElectronics
Buongiorno,

Mi riferisco a questo tutorial:https://simple-circuit.com/pic16f877a-ssd1306-oled-display/
Nel quale si spiega come interfacciare un SSD1306 con un PIC16F877A; ciò che non riesco a comprendere è che il codice utilizza un array di 8x128=1024 bytes; mentre leggendo dal DS del PIC16F877A noto che questo ha solo 368B RAM Statica e 256B EEPROM RAM.
Infatti, provando a compilare questo codice, MPLAB (non ho la CPU da testare) mi avvisa che non c'è spazio sufficiente per allocare l'array di 1024 bytes.
Vorrei quindi chiedere come potrebbe essere possibile compilare e far funzionare un tale codice su un PIC16F877A.
DGrazie

Re: Come potrebbe funzionare questo codice ?

MessaggioInviato: 5 set 2019, 12:06
da harpefalcata
Se non ho capito male, inizializza l'arrai in ROM, tramite quella grossa look-up table che vedi all'inizio, poi tramite operazioni bit-wise agise atomicamente sui singoli dati che vuole modificare.

Re: Come potrebbe funzionare questo codice ?

MessaggioInviato: 5 set 2019, 12:43
da DeltaElectronics
harpefalcata ha scritto:Se non ho capito male, inizializza l'arrai in ROM, tramite quella grossa look-up table che vedi all'inizio, poi tramite operazioni bit-wise agise atomicamente sui singoli dati che vuole modificare.

E come si potrebbe fare ?
Non riesco proprio a capirlo.
Grazie

Re: Come potrebbe funzionare questo codice ?

MessaggioInviato: 15 set 2019, 12:55
da pusillus
I due array font sono dichiarati "const" in teoria il compilatore dovrebbe posizionarli nella memoria flash, che è di 14k nel micro.
Bisogna vedere se lo fa davvero o no, ma non conosco i PIC ed il loro ambiente di sviluppo.

Re: Come potrebbe funzionare questo codice ?

MessaggioInviato: 16 set 2019, 17:46
da DeltaElectronics
pusillus ha scritto:I due array font sono dichiarati "const" in teoria il compilatore dovrebbe posizionarli nella memoria flash, che è di 14k nel micro.
Bisogna vedere se lo fa davvero o no, ma non conosco i PIC ed il loro ambiente di sviluppo.

Si è così... grazie.