Madergames9 napisał: ...Ps. Tak, już dla ścisłości to skoro do tej pory nie używałem tej pamięci to czas to zrobić. A przy okazji to czy zmienną typu STRING też tak samo łatwo tam zapiszę...?
To działa ze zmienną dowolnego typu
Madergames9 napisał:
Ijeszcze jedno podejście do tematu..
Napisałem kod z uwzględnieniem Twoich uwag Piotrek tzn:
Dim x As Eram Single
Kod się skompilował i jest oki. Kosteczka Atmega32 się zaprogramowała, ale w zakładce "eeprom" Bascomowego programatora jest pusto tzn sa same FF. Czy to znaczy, że coś zrobiłem nie tak...?.
Tak ma być , bo dopiero działający program (X=C) spowoduje zapis do eepromu
Jak już tak bardzo chcemy , to możemy nadać jakąś wartość początkową zmiennej EEprom-owej
Np.
Dim Empty As Eram Byte At 0 ' zmienna , która zajmie nam "felerną" 1-szą komórkę w EEpromie - nigdy tej zmiennej nie używamy w kodzie.
Dim X As Eram Single At 1
Dim Y As Single
Y=X
Lcd Y ' i tu już Y bedzie = 1.0000543 , mimo że nigdzie w kodzie nie przypisaliśmy zmiennej X żadnej wartości
$EEPROM
Data &HFF - 1-sza komóra bez zmian
'Teraz wartość dla naszego X-a
Data 1.0000543! 'zajmie 4 bajty , będzie "widoczna" w zakładce eeprom i bedzie przypisana do zmiennej X
Aby to działało , to w procesie programowania proca, należy również zaprogramować EEprom
Madergames9 napisał:
Po drugie operacje zapisu i odczytu przeprowadza się tak samo jak na zmiennych programu?. Czyli nie trzeba podawać, żadnego adresu zapisu ani odczytu..?.
O wszystko zadba kompilator.Jeśli byś się jednak uparł , to możesz "poprosić" by zmienna była umieszczona pod konkretnym adresem.
Np. Dim X As Eram Single At 5
Madergames9 napisał:
I jeszcze jedno czy podczas ładowania od nowa programu po zaniku napięcia zmienne zapisane w eeprom-ie nie zostaną "nadpisane" tą samą ale "czystą" zmienną?
Pozdrawiam po raz kolejny
Chyba chodzi Ci o restart programu po zaniku zasilania
To zależy co tam napiszesz w kodzie.
I jeszcze jedno: zaprogramuj fusebit EESAVE (w Bascom dla M32 to bit G=0 ;Preserve EEprom when chip erase) , a wtedy nawet Chip Erase , nie wymaże danych z eepromu , a to oznacza że będziesz mógł zmieniać/modyfikować program we falshu , a eeprom pozostanie nietknięty.
Kończę , bo sie rozgadałem
Piotrek
PS
I nie zapominaj , że ilość zapisów do eepromu jest ograniczona.