Avendo collegato manualmente il nostro display TFT al nostro Arduino, useremo il nostro Arduino per disegnare
sul display i principi e i passaggi sono gli stessi con qualsiasi microcontrollore. Il display può gestire fino a 18
bit di colore.
Ma per ora useremo solo il colore a 16 bit in modo da poter mantenere i dati a due byte.
Il colore è un nostro G. B. valore con un formato 5 6 5 5 bit 4 rosso 6 bit per il verde e
5 bit per il blu in questo modo.
Abbiamo 2 byte o quattro stuzzichini o 16 bit in modo da visualizzare Fullbright in questo rosso.
Avremmo questo numero che sarebbe f 8 0 0 in esadecimale per Green sarebbe questo numero che è 0
7 e 0 in esadecimale 4 blu sarebbe che è 0 0 1 F in esadecimale.
Riesci a vedere da dove ho preso quei numeri.
Passiamo quindi al semplice mix di colori: il nero è facile.
Quello è 0 Rosso 0 verde 0 blu.
Quindi zeri su tutta la linea che ci danno lo 0 0 0 0 in esadecimale.
Il bianco è la piena luminosità del rosso verde e blu, quindi uno in ogni bit.
Quindi otteniamo f f f f in esadecimale.
Puoi mescolare e abbinare i colori esattamente come abbiamo fatto in precedenza quando mescoliamo i colori RG B mescolando la piena luminosità
rosso e la luminosità a byte intero blu ci dà il magenta per fare che avresti tutti quelli nei bit rossi tutti gli
zeri dei bit verdi tutti e i pezzi blu.
Quindi avresti f 8 one f in hex che puoi giocare mescolando i colori in seguito, ma una delle prime cose che
facciamo nel nostro sketch di esempio scaricabile dalla sezione download è per semplicità abbiamo predefinito un mucchio
di colori in modo da poter semplicemente usa i colori per nome invece che lì.
Difficile ricordare il codice esadecimale, quindi guardando lo schizzo puoi capire rapidamente l'installazione abbastanza facilmente per
te.
Definiamo rapidamente quali pin fanno quale lavoro con le linee di controllo e abbiamo le linee dati
cablate alla porta D.
Quindi ora inviamo semplicemente il numero che vogliamo sul database alla porta D e poi
facciamo la nostra attività con le linee di controllo che abbiamo appena definito, quindi scorrendo verso il basso fino alla funzione
di configurazione, impostiamo un ciclo rapido per impostare chiatte winos GPI si apre.
Tutti come tutti gli output per tutti i pin collegati al database e le linee di controllo TFT tutte le linee
di controllo sono attive in basso.
Quindi per ora impostiamo tutte le linee di controllo in alto.
Dobbiamo anche impostare la porta come il registro di direzione dei dati della porta D come tutte le uscite.
Quindi lo facciamo qui con questa linea qui.
I registri della direzione dei dati at Mill erano l'opposto del pick un'uscita 1 4 in un ingresso 0 4, sapeva che
tutto è impostato.
Dobbiamo passare attraverso l'inizializzazione del display proprio come abbiamo fatto con la temperatura sedici e
trentotto e persino il display Hitachi.
Iniziamo semplicemente eseguendo un hard reset sulla scheda, tenendo bassa la linea di reset e aspettando 200 millisecondi perché l'elettronica impiega
del tempo per rispondere.
Quindi impostiamo la linea di ripristino.
Ciao, quindi la scheda è ora attiva e di nuovo aspettiamo 100 millisecondi affinché l'elettronica risponda.
Ricordi che abbiamo dovuto ritardare sia il driver Hitachi che la squadra sedici trentotto schede
perché le chips del driver erano lente durante il reset, giusto.
Quindi è esattamente la stessa cosa qui.
Credo che questo ritardo sia ciò che ha causato problemi a parecchie persone che hanno problemi quando hanno provato
a usare le loro schede.
Molte persone su Internet stavano parlando del temuto schermo bianco della morte o del
Black Screen of Death in cui il display TFT non rispondeva.
Stava mostrando uno schermo bianco o nero solido, quindi è tutto.
Bene, quello era uno dei sintomi di non ripristinare correttamente la scheda all'avvio.
Alcune persone hanno scoperto di poter risolvere questo problema semplicemente inserendo un ritardo più lungo dopo il ripristino
hardware iniziale.
Sfortunatamente questo implica un po 'di approfondimento con le biblioteche che sono state passate in
giro.
Ecco perché così tante persone non hanno nemmeno superato questo punto.
Ora stiamo usando la libreria in cui stiamo scrivendo il nostro codice e questa è una
funzione chiave che deve essere eseguita correttamente altrimenti la nostra scheda semplicemente non funzionerà o potrebbe non funzionare correttamente.
Quindi, spostandoci dopo l'hard reset, ora dobbiamo impostare il display.
Riconoscerai alcuni di questi passaggi poiché dobbiamo eseguirli su Hitachi e sedici trentotto
piloti.
Il primo passo che dobbiamo fare è portare la scheda in modalità di sospensione, quindi guardando il foglio dati
eyeline 90 341 dovrebbe essere scaricato dall'ultima lezione.
Troverai il comando sia nel contenuto che nella sua pagina descrittore descrittore.
Qui è dormire fuori.
Quindi, se si utilizza un driver e una scheda tecnica diversi.
Questo potrebbe avere un nome diverso e potrebbe non utilizzare lo stesso indirizzo di registro di 1 1.
Quindi saltando alla pagina centouno avviso.
Ancora una volta questo comando richiede ritardi dopo l'invio.
Ora richiede solo un minimo di cinque millisecondi ma su una scala temporale a microprocessore che è
molto tempo.
Ed è importante e consiglierei di attendere più di 5 millisecondi.
Quindi, guardando indietro al nostro schizzo, tutto ciò che facciamo è caricare quel comando esadecimale.
1 1 sulla porta D e poiché questa è un'istruzione, teniamo bassa la riga di selezione del registro indicando che si tratta di un
comando non di dati.
E poi strozziamo la linea giusta con un impulso basso e abbiamo appena impartito la nostra prima istruzione al chip del
driver.
Quindi non dimenticare quel ritardo richiesto da questo particolare comando.
Sono andato ben oltre quando è stato necessario ritardare di centoventi millisecondi
anziché cinque.
Giusto per essere al sicuro.
Tutto ok.
Abbiamo eseguito un ripristino hardware e svegliato la scheda dalla modalità sleep il primo che si sarebbe
appena registrato sarà impostato per il controllo pazzo o il registro di controllo dell'accesso alla memoria che controlla che tu conosca l'orientamento dello schermo
e ti consente di invertire la modalità colore se lo desideri.
È un comando seguito da un byte che imposta i bit nel registro.
I registri dei bit sono disponibili a pagina 127 e ciò che ciascuno di essi fa.
Vogliamo che tutti i bit nel registro siano zeri per impostare tutto in modalità normale.
Quindi, guardando prima il nostro schizzo, impostiamo la linea RSA in basso per indicare che questa è un'istruzione, quindi cariciamo il comando
di controllo pazzo o esadecimale 3 6 sulle linee di dati da un Port de, strozziamo la linea giusta con un impulso
basso per inviare il comando .
Il driver si aspetta ora che i dati vengano inseriti nel registro dei controlli pazzi.
Quindi mettiamo in alto la linea di arresto per indicare che si tratta di dati caricare il bus nel bus dati con x 0 0 come abbiamo
determinato e quindi lampeggiare la linea destra con un impulso basso di nuovo tenere presente che se
si dispone di un chip driver diverso questo comando potrebbe essere un nome diverso o un valore esadecimale diverso dovrai capirlo
dalla tua scheda tecnica.
Il prossimo registro importante che dobbiamo impostare è il registro della modalità colore perché lo
schermo può assumere un colore a sei bit un colore a sedici bit o un colore a diciotto bit che possiamo vedere nell'indice che il
nostro comando color mode è hex 3 a così andiamo su a pagina 134 possiamo vedere cosa dobbiamo impostare per il colore a 16 bit questa modalità colore richiede
due morsi di coppia di dati per pixel anziché tre.
Quindi per ora useremo la modalità a sedici bit.
Come puoi vedere, dobbiamo impostare i bit DP I come 1 0 1 e anche i bit DCI come 1 0 1.
Quindi c'è DP di db.
I bit rimanenti sono entrambi zeri.
Quindi avremo 0 1 0 1 0 1 0 1 o 5 5 in esadecimale.
Quindi, guardando indietro al nostro schizzo, impostiamo la RSA in posizione abbassata per un comando carica questi tre comandi in modalità colore sul bus lampeggia
la linea giusta con un basso imposta la linea IRS per alta per i dati carica i
nostri dati di 5 5 sul bus lampeggia a destra allineato con un impulso basso facile facile il terzo passo necessario è
proprio come prima con altri display che dobbiamo accendere il display.
Proprio come prima dello schermo si imposta automaticamente la modalità off all'accensione perché la memoria dello schermo assumerà
valori casuali impostando la modalità off.
Quando ti viene acceso per la prima volta il programmatore di questo magnifico dispositivo hai la
possibilità di ripulire lo schermo prima di attivarlo, ma proprio come prima che siamo strani non vogliamo ripulirlo.
Voglio che tu veda quella casualità.
Quindi nell'ultima lezione quando hai eseguito lo schizzo del registro reed hai avuto modo di vedere come appariva lo schermo
nella barca off predefinita.
Cosa ha fatto il tuo schermo.
Era completamente bianco.
Era completamente nero.
No, di solito diventano completamente bianchi in modo che l'utente finale possa vedere lo schermo effettivamente alimentato e
viene risposto quando accendono il dispositivo.
Questo evita la confusione causata quando i vecchi accendono l'alimentazione e se lo schermo rimane
nero sembra che il dispositivo non sia alimentato.
Tuttavia, questa è un'altra area in cui i programmatori hanno avuto problemi nel tentativo di utilizzare queste schermate.
Lo schermo diventa bianco e o non hanno capito che avevano bisogno di accenderlo o
hanno incasinato l'inizializzazione dello schermo non si è acceso perché probabilmente perché hanno usato il comando sbagliato perché
i chip del driver dello schermo sono stati erroneamente identificati o dal programmatore o dalla
libreria.
Stavano cercando di usare.
Quindi guardando nell'indice della scheda tecnica sui novantatre quaranta uno questo comando si chiama
display on con un valore esadecimale di 2 9.
È possibile visualizzare la visualizzazione del comando e questa è la modalità predefinita.
Ora non ci sono dati per nessuno di questi comandi che invia il comando accende o
spegne lo schermo.
Quindi, tornando al nostro schizzo, non penso di doverti dire cosa sta succedendo qui.
C'è il comando esadecimale 2 9 per accendere bene
lo schermo.
Questo è il minimo indispensabile che dobbiamo attivare e utilizzare il display e per il momento è tutto
ciò che faremo.
In questo modo è possibile testare il display finora e vedere se si sta ottenendo il
comportamento previsto nello schizzo di esempio.
Puoi vedere qui sulla linea uno ventitre.
Ho un blocco di commenti segnato.
Fondamentalmente ho appena commentato questo pezzo dello schizzo in modo da poter eseguire il nostro schizzo finora e quindi possiamo vedere se
tutto funziona come previsto o no.
Quindi non dimenticare di scollegare i connettori dai pin 0 e 1.
Se dimentichi e provi a lampeggiare o Uno con i fili ancora collegati, interferirà con la
comunicazione USP e l'IDC sputerà un sacco di errori con i fili estratti dai pin 0 e 1.
Vai avanti e fai flash o schizzi sull'arduino e una volta terminato, collega il desiderio di pin 0 e d
1 al pin 1.
Basta premere il pulsante di ripristino su Uno ma guardare attentamente lo schermo per vedere cosa succede.
Le schermate dovrebbero passare dall'aspetto predefinito in modalità disattivata alla casualità sullo schermo.
Ora che la casualità può assumere una varietà di forme, se è veramente
casuale, sembrerà statica sullo schermo in questo modo, ma a causa della produzione della memoria i registri possono tendere a passare a uno e a zero
come un po 'di un modello .
Quindi potrebbe apparire così.
E se guardi molto da vicino puoi vedere che c'è un po 'di casualità, ma in sostanza alcune linee stanno diventando
bianche mentre altre stanno diventando nere e ha solo a che fare con il modo in
cui sono stati fabbricati i transistor che oscilla indipendentemente dal fatto che le infradito si ribaltino o no flop.
Quindi spero che il tuo schermo sia passato dalla modalità off predefinita ad on e stai vedendo qualcosa sullo
schermo.
Se sei eccellente allora sei fuori e corri.
Stai comunicando con la scheda e sta rispondendo ai tuoi comandi.
Ho fatto qualcosa di sottile qui ma molto importante.
In realtà è qualcosa che non ho fatto.
Noterai che abbiamo creato solo tre registri.
Molte persone su Internet che hanno scritto schizzi o intere librerie per queste schede hanno creato
dozzine e dozzine di registri nella loro inizializzazione e schermate.
Ora va bene e quasi tutti i registri impostati aumentano la complessità del tuo schizzo e la possibilità di
impostare un registro errato o di impostare un registro in modo errato e lo schermo non funziona o
si comporta in un modo molto strano.
Quindi ho semplicemente sfruttato le impostazioni predefinite dopo l'accensione e ho ipotizzato che le impostazioni importanti
sarebbero predefinite su alcune impostazioni utilizzabili.
Quindi come vedere questo punto calvo qui sì.
Questo è da parte mia che mi strappavo i capelli cercando di far funzionare questi display quando non
lo facevano e cercando di farmi strada attraverso schizzi di esempio nelle biblioteche che fornivano
a volte dove scrivevano più di cento volte in memoria e registri e probabilmente il 99 percento di quelli i registri erano per funzioni
che non avrebbero mai usato come impostazioni di terrore per i video.
Quindi evita tutta quella seccatura, mal di testa e problemi e usa il più possibile le impostazioni predefinite.