- Messaggi: 14
- Ringraziamenti ricevuti 1
Scrittura stringa su 24CL256
12 Anni 9 Mesi fa - 12 Anni 9 Mesi fa #1
da inx83
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.
Scrittura stringa su 24CL256 è stato creato da inx83
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.
- inx83
- Autore della discussione
- New Member
Riduci
Di più
12 Anni 9 Mesi fa #2
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Scrittura stringa su 24CL256
Ciao,
ho dato una lettura veloce al codice.
Ad ogni scrittura di un byte incrementi sia cont che la pagina?
Non controlli se cont e' arrivato a 64?
cont e pagina dovrebbero essere memorizzati anche per scritture successive, quindi penserei piu' ad una variabile globale o dichiarare la variabile come static, altrimenti cont viene inizializzata a 0 ad ogni scrittura, quindi sovrascrivi gli indirizzi della EEPROM ad ogni chiamata della funzione.
Qualcosa non mi torna con gli indici.
In ogni modo non vedo malvagio il fatto di scrivere un carattere alla volta piuttosto che usare le pagine.
Per piccole stringhe non credo che risparmi molto usando le pagine piuttosto che l'indirizzamento mirato.
Saluti,
Mauro
ho dato una lettura veloce al codice.
Ad ogni scrittura di un byte incrementi sia cont che la pagina?
Non controlli se cont e' arrivato a 64?
cont e pagina dovrebbero essere memorizzati anche per scritture successive, quindi penserei piu' ad una variabile globale o dichiarare la variabile come static, altrimenti cont viene inizializzata a 0 ad ogni scrittura, quindi sovrascrivi gli indirizzi della EEPROM ad ogni chiamata della funzione.
Qualcosa non mi torna con gli indici.
In ogni modo non vedo malvagio il fatto di scrivere un carattere alla volta piuttosto che usare le pagine.
Per piccole stringhe non credo che risparmi molto usando le pagine piuttosto che l'indirizzamento mirato.
Saluti,
Mauro
Ringraziano per il messaggio: inx83
Si prega Accedi o Crea un account a partecipare alla conversazione.
12 Anni 9 Mesi fa #3
da inx83
Risposta da inx83 al topic Re: Scrittura stringa su 24CL256
ciao e grazie del tuo interessamento.
La variabile cont la uso solo per scorrere la stringa che voglio trasferire in eeprom.
Mentre la variabile pagina invece è quella che mi tiene conto di quanti caratteri ho scritto fino ad ora sulla pagina.
dato che la funzione restituisce l'ultimo indirizzo utile della memoria, nella chiamata la funzione la uso cosi:
ultima_stringa = scrivi_stringa_24LC256(ultima_stringa, stringa);
cosi facendo all'avvio vale 0 ma ad ogni scrittura vado ad salvare su ultima_stringa la posizione della prossima scrittura.
Come ho scritto nel primo messaggio, la funzione è ok solo se vado a scrivere qualcosa sull'lcd. Ho provato ogni tipo di ritardo ma senza successo. anche mettendo lo stesso che usa la funzione di stampa.
Non sapendo come fare ho realizzato una altra funzione che scrive un carattere alla volta inizializzando e chiudendo ogni volta la comunicazione. E un sistema stupido ma almeno posso andare avanti. Magari tu hai gia pronta una funzione che lo fa...
La variabile cont la uso solo per scorrere la stringa che voglio trasferire in eeprom.
Mentre la variabile pagina invece è quella che mi tiene conto di quanti caratteri ho scritto fino ad ora sulla pagina.
dato che la funzione restituisce l'ultimo indirizzo utile della memoria, nella chiamata la funzione la uso cosi:
ultima_stringa = scrivi_stringa_24LC256(ultima_stringa, stringa);
cosi facendo all'avvio vale 0 ma ad ogni scrittura vado ad salvare su ultima_stringa la posizione della prossima scrittura.
Come ho scritto nel primo messaggio, la funzione è ok solo se vado a scrivere qualcosa sull'lcd. Ho provato ogni tipo di ritardo ma senza successo. anche mettendo lo stesso che usa la funzione di stampa.
Non sapendo come fare ho realizzato una altra funzione che scrive un carattere alla volta inizializzando e chiudendo ogni volta la comunicazione. E un sistema stupido ma almeno posso andare avanti. Magari tu hai gia pronta una funzione che lo fa...
Si prega Accedi o Crea un account a partecipare alla conversazione.
- inx83
- Autore della discussione
- New Member
Riduci
Di più
- Messaggi: 14
- Ringraziamenti ricevuti 1
12 Anni 9 Mesi fa #4
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Scrittura stringa su 24CL256
Ciao,
non mi e' molto chiaro il problema.
hai postato la parte del codice che funziona!
Potresti postare il codice intero?
Saluti,
Mauro
non mi e' molto chiaro il problema.
hai postato la parte del codice che funziona!
Potresti postare il codice intero?
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
12 Anni 9 Mesi fa - 12 Anni 8 Mesi fa #5
da inx83
Risposta da inx83 al topic Re: Scrittura stringa su 24CL256
Ciao,
questa è la funzione che in teoria dovrebbe funzionare.
ti allego un file con tutto il progetto. Tieni considerato che ho usato microC come editor e la sua relativa libreria per la gestione dell' LCD.
dentro trovi anche la funzione che ho creato per aggirare l'ostacolo ma anche quella presenta una specie di litime che ti ho scritto nel codice.
fammi sapere se riesci a trovare un dritto dato che la mia scarsa esperienza non mi aiuta di certo.
grazie in anticipo.
ps mi scuso in anticipo ma c'e un po di casi dato che questo progetto in origine era un sistema di misura muilticanale che e stato convertito in questo solo per fare una prova dato che questa funzione è utile se uno devo programmare un menu multi-lingua per una scheda.
questa è la funzione che in teoria dovrebbe funzionare.
ti allego un file con tutto il progetto. Tieni considerato che ho usato microC come editor e la sua relativa libreria per la gestione dell' LCD.
dentro trovi anche la funzione che ho creato per aggirare l'ostacolo ma anche quella presenta una specie di litime che ti ho scritto nel codice.
fammi sapere se riesci a trovare un dritto dato che la mia scarsa esperienza non mi aiuta di certo.
grazie in anticipo.
ps mi scuso in anticipo ma c'e un po di casi dato che questo progetto in origine era un sistema di misura muilticanale che e stato convertito in questo solo per fare una prova dato che questa funzione è utile se uno devo programmare un menu multi-lingua per una scheda.
Ultima Modifica 12 Anni 8 Mesi fa da inx83.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- inx83
- Autore della discussione
- New Member
Riduci
Di più
- Messaggi: 14
- Ringraziamenti ricevuti 1
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.
Login
© LaurTec 2006 - 2024