CGRAM caratteri personalizzati

9 Anni 1 Mese fa - 9 Anni 1 Mese fa #1 da iv3ynb
CGRAM caratteri personalizzati è stato creato da iv3ynb
Ciao a tutti,

una cosa interessante è la programmazione degli 8 caratteri personalizzati, che nella libreria LCD manca, per tanto ho tentato di modificarla io, dato che lo scopo è imparare!!! Ahimè... qui devo un attimo chiedere una mano.
Risultato: XC8 mi compila il programma senza warning, scrive sull'LCD al posto giusto... purtroppo scrive caratteri che non sono quelli da me desiderati. Come faccio a fargli scirvere i caratteri desiderati???

Invio sotto il codice dei miei *.c (non allego quelli che funzionano come kpad.c ed encoder.c o che sono in libreria ma non ho modificato, per non complicare la lettura) così qualcuno mi può aiutare a capire dove sbaglio.
Inserisco in colore ROSSO alcune domande sul codice...
Ho usato come esempio le librerie di settorezero.

Grazie in anticipo per l'aiuto
Matteo IV3YNB


AGGIORNAMENTO: siccome mi sono accorto di un errore nel listato e di un ragionamento errato, tento di risolvere e poi magari riscrivo il post... grazie e a chi mi ha letto !!!

certo che... è dura !!! :) B) :) B) :) B)

Matteo IV3YNB

non esistono domande stupide, ma le risposte...
Ultima Modifica 9 Anni 1 Mese fa da iv3ynb.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • iv3ynb
  • Avatar di iv3ynb
  • Senior Member
  • Senior Member
Di più
9 Anni 1 Mese fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic CGRAM caratteri personalizzati
...penso che pure Marconi abbia detto lo stesso! :)

...e non aveva un Forum a cui rivolgersi! :)

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
9 Anni 1 Mese fa - 9 Anni 1 Mese fa #3 da iv3ynb
Risposta da iv3ynb al topic CGRAM caratteri personalizzati

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • iv3ynb
  • Avatar di iv3ynb
  • Senior Member
  • Senior Member
Di più
9 Anni 1 Mese fa - 9 Anni 1 Mese fa #4 da alfa75
Risposta da alfa75 al topic CGRAM caratteri personalizzati
ciao iv3ynb sto tentando anche io di modificare la libreria per creare dei caratteri custom,e girellando per la rete ho scoperto che non tutti i controller dei display hanno spazi di ram vuota da personalizzare ,ad esempio i controller europei hanno tutta la ram occupata da caratteri standard e cirllici,gli unici che hanno spazi vuoti sono quelli di origine orientale come difatti il 44780,comunque è sempre meglio controllare il datasheet del display prima di perdere tempo a capire perchè non fa
Ultima Modifica 9 Anni 1 Mese fa da alfa75.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • alfa75
  • Avatar di alfa75
  • Platinum Member
  • Platinum Member
Di più
9 Anni 1 Mese fa #5 da iv3ynb
Risposta da iv3ynb al topic CGRAM caratteri personalizzati
Grazie alfa75, controllerò il datasheet, per sicurezza.
Il problema è che il display che sto usando, ovvero quello montato sulla easypic5 (scheda che ho modificato per poter programmare i PIC anche con il PicKIT3), ha sempre accettato 8 caratteri custom quando scrivevo in mikrobasic. Inoltre con un 16F877 montato su una mia schedina, programmato in C con le librerie di settorezero, tutto funzionava.
Il codice scritto per MPLABX e XC8 altro non è che la trasposizione del codice di settorezero sul 18F4550. Mi sembra non ci siano errori. All'inizio mi sembrava di aver messo un RS pari a 1 per scrivere i caratteri nella CGRAM, poi ho copiato il codice in libreria, rinominandolo, con l'unica differenza che stavolta RS sia pari a 0 per dare il comando al display di scrivere in CGRAM e non di inviare caratteri a video.

Mi viene ora in mente che possa essere tutta una questione di timing, visto che si parla di almeno 40uS per dare il comando.
Se non ricordo male, nella libreria Laurtech i delay sono esprimibili in secondi o in microsecondi, mentre su settorezero c'è il codice per ritardi in microsecondi e milisecondi (i secondi li fai a colpi di 1000ms). Dovrei mettere mano alla libreria anche per i microsecondi ( ? ) ma non sono molto ferrato in questo... nemmeno in ASM ero bravo a lavorare sui delay... è una mia pecca, lo ammetto. :unsure: Forse la cosa più veloce è provare le librerie di settorezero... meglio sarebbe, come dire... unirle :lol:
Purtroppo non ho avuto il tempo di provare tante soluzioni, ho piuttosto cercato di capire se il mio codice fosse corretto, e tale mi sembra: in aggiunta a quanto sopra, non sono molto pratico ancora di MPLABX (vedi uso dello stopwatch ecc...) e soprattutto ho la scheda sul mio banco al lavoro, dove vorrei usare il C per un progettino niente male per il mio lab... B) e non solo per mio diletto ;) Perciò nel weekend non ho combinato nulla :silly: :sick: :blink:

Francamente preferivo il vecchio MPLAB... ma bisogna guardare al futuro.

Se qualcuno potesse dare un'occhiata al mi codice, gliene sarei davvero grato.

Matteo IV3YNB

P.S.: come si inserisce il codice in maniera corretta, nei messaggi nel forum? (intendo nella loro finestrella apposita... non trovo il comando)

non esistono domande stupide, ma le risposte...

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • iv3ynb
  • Avatar di iv3ynb
  • Senior Member
  • Senior Member
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login