unuldinei Postat Iunie 26, 2015 Partajează Postat Iunie 26, 2015 Salut , nu stiuu daca s-a mai discutat ca n-am gasit dar as dori sa stiu daca la arduino uno, mini , mini pro se poate pastra EEPROM-ul pentru a nu-l creea de fiecare data . Stiu ca pentru ATMEGA328 exista FUSE BITS care face asta si l-am folosit , dar la Arduino mi-e cam târșă ... , mai ales ca trebuie avut grija si de restul valorilor FUSE BITS pe care bootloaderul le cere ... In Ide-ul Arduino n-am gasit nimic de genul asta . Daca aveti vreo idee ... Va multumesc ! Link spre comentariu
mars01 Postat Iunie 26, 2015 Partajează Postat Iunie 26, 2015 Salut, poate ai citit deja aici, poate ca nu. http://forum.arduino.cc/index.php?topic=106754.0 Raspunsul ar fi: ori EEFUSE ori EEFUSE. Altceva nu este. Daca vorbim de EEPROM-ul intern al Atmega328, desigur. 1 Link spre comentariu
mars01 Postat Iunie 27, 2015 Partajează Postat Iunie 27, 2015 (editat) O mica mentiune. Desi stergerea EEPROM are loc la fiecare programare Arduino, totusi daca memoria EEPROM a fost nescrisa anterior (deci se vad o gramada de 0xFF), nu se va uza; aceasta deoarece uzura EEPROM-ului apare doar cand se face bit clear (adica scriere de '0') sau cand se scrie un '1' peste un '0'. Scrierea de '1' peste un '1' deja prezent nu uzeaza EEPROM-ul. Editat Iunie 27, 2015 de mars01 Link spre comentariu
unuldinei Postat Iunie 28, 2015 Autor Partajează Postat Iunie 28, 2015 De aceea se recomanda update din biblioteca avr , stiu mersi. Vad ca la Arduino Pro Mini (versiunea de 16MHz, 5V) nu se sterge EEPROMUL la upload de sketch. Poti sa scrii linistit ca acolo ramane. Foarte bune astea de la www.fourwalledcubicle.com a lu' nea' Dan Camera . # include <avr / eeprom .h>void main ( void ){uint8_t ByteOfData ;ByteOfData = 0 x12 ;eeprom_update_byte (( uint8_t *) 46, ByteOfData );} Link spre comentariu
mars01 Postat Iunie 29, 2015 Partajează Postat Iunie 29, 2015 (editat) Scrierea unui '0' presupune o stergere a ceea ce era inainte in locatia respectiva. Chiar daca era un '0'. Functia aceasta de update cred ca citeste intai locatia, compara cu valoarea de scris si scrie doar acolo unde este ceva diferit. In felul acesta cand trebuie scris '0' iar in locatie este deja un '0' nu face nimic si trece mai departe. Scrierea unui EEPROM este lenta, citirea insa este foarte rapida comparativ asa ca functia de update nu ar trebui sa introduca o intarziere prea mare. Sunt convins ca stii treburile acestea dar cred ca este bine sa ramana si pentru altii. Editat Iunie 29, 2015 de mars01 Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum