- Messaggi: 1222
- Ringraziamenti ricevuti 104
Chiarimenti parametri per I2C
11 Anni 8 Mesi fa - 11 Anni 8 Mesi fa #11
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic Ciarimenti parametri per I2C
non puoi dichiarare due volte la stessa variabile (in questo caso un array fatto di 5 unsigned char):
unsigned char cont[5] = {12,45,7,10}; //Stringa da scrivere in memoria
unsigned char cont[5]; // Array per salvare il dato di ritorno
quando scrivi:
write_I2C_EEPROM (0xA4, 0, cont[5]);
lui scrive solo il valore del dato contenuto in cont[5] solo unsigned char contenuto nella quinta posizione, per scrivere tutti e 5 gli unsigned char devi mettere un ciclo...ad esempio..
for(h = 0; h <6; h++)
{
write_I2C_EEPROM (0xA4, h, cont[h]);
}
se li vuoi leggere tutti e cinque i valori dell'array cont, dovrai fare qualcosa di analogo.
Inoltre quando scrivi:
LATD = cont[5];
poni la porta D (presumo dei led) pari al valore del quinto unsignad char dell'array cont...quindi se ad esempio nel quinto valore c'è un 23...avrai sui led il corrispettivo binario..00010111
Ste
unsigned char cont[5] = {12,45,7,10}; //Stringa da scrivere in memoria
unsigned char cont[5]; // Array per salvare il dato di ritorno
quando scrivi:
write_I2C_EEPROM (0xA4, 0, cont[5]);
lui scrive solo il valore del dato contenuto in cont[5] solo unsigned char contenuto nella quinta posizione, per scrivere tutti e 5 gli unsigned char devi mettere un ciclo...ad esempio..
for(h = 0; h <6; h++)
{
write_I2C_EEPROM (0xA4, h, cont[h]);
}
se li vuoi leggere tutti e cinque i valori dell'array cont, dovrai fare qualcosa di analogo.
Inoltre quando scrivi:
LATD = cont[5];
poni la porta D (presumo dei led) pari al valore del quinto unsignad char dell'array cont...quindi se ad esempio nel quinto valore c'è un 23...avrai sui led il corrispettivo binario..00010111
Ste
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Ultima Modifica 11 Anni 8 Mesi fa da StefA.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Moderator
Riduci
Di più
11 Anni 8 Mesi fa #12
da Guido
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.
Risposta da Guido al topic Ciarimenti parametri per I2C
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.
- Guido
- Autore della discussione
- Platinum Member
Riduci
Di più
- Messaggi: 583
- Ringraziamenti ricevuti 1
11 Anni 8 Mesi fa #13
da Guido
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.
Risposta da Guido al topic Ciarimenti parametri per I2C
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.
- Guido
- Autore della discussione
- Platinum Member
Riduci
Di più
- Messaggi: 583
- Ringraziamenti ricevuti 1
11 Anni 8 Mesi fa #14
da StefA
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Risposta da StefA al topic Ciarimenti parametri per I2C
in questo modo però lui scrive sempre sulla stessa cella di memoria e ogni volta che scrivi sovrascrive la scrittura precedente. Se ti serve scrivere più cose e tenerle in memoria contemporaneamente, nel caso non funzioni l'indice h..puoi pensare di scrivere una riga per ogni scrittura senza ciclo for.
Quando usi la funzione di scrittura, ti ritorna un valore e da quello puoi capire se la scrittura è andata a buon fine, c'è inoltre anche un'altra funzione che scrive e controlla rileggendo il dato e confrontandolo con quello scritto (è un po' più lenta). Per sapere quando finisce la memoria, vedi quanto è grande e quante cose puoi scriverci e ti regoli.
Ste
Quando usi la funzione di scrittura, ti ritorna un valore e da quello puoi capire se la scrittura è andata a buon fine, c'è inoltre anche un'altra funzione che scrive e controlla rileggendo il dato e confrontandolo con quello scritto (è un po' più lenta). Per sapere quando finisce la memoria, vedi quanto è grande e quante cose puoi scriverci e ti regoli.
Ste
..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Si prega Accedi o Crea un account a partecipare alla conversazione.
- StefA
- Moderator
Riduci
Di più
- Messaggi: 1222
- Ringraziamenti ricevuti 104
11 Anni 8 Mesi fa #15
da Guido
Risposta da Guido al topic Ciarimenti parametri per I2C
Ciao, per quanto riguarda questo ( mi interessa) :
Se ti serve scrivere più cose e tenerle in memoria contemporaneamente, nel caso non funzioni l'indice h..puoi pensare di scrivere una riga per ogni scrittura senza ciclo for.
puoi scrivermi il pezzo di codice (le istruzioni) così provo ad applicarle.
Grazie
Se ti serve scrivere più cose e tenerle in memoria contemporaneamente, nel caso non funzioni l'indice h..puoi pensare di scrivere una riga per ogni scrittura senza ciclo for.
puoi scrivermi il pezzo di codice (le istruzioni) così provo ad applicarle.
Grazie
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Guido
- Autore della discussione
- Platinum Member
Riduci
Di più
- Messaggi: 583
- 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