Je nachdem, was du machst, aber im Grunde reicht:
dim conf as eram byte
dim data(64) as eram word
dann kannst du normal damit umgehen.
conf = 23
for x = 1 to 64
data(x) = 12
next
Man sollt aber die Werte nicht zu oft reinschreiben.
Hallo!
Ich benötige für ein Serielles Kommunikationsprotokoll ein 16-Bit Datenwort und ein Config-Byte. Nun ist meine Frage, ob man das so in der Art ablegen kann und Bascom das richtig macht?
' Daten werden in das EEPROM gespeichert
$eeprom
Label1:
Data 1 , 1 , 1 , 1
$data
' ENDE DATEN EEPROM
Poweron:
Do
'Parameter aus EEProm laden
Readeeprom 4_flag , Label1
Readeeprom 3_flag
Readeeprom 2_flag
Readeeprom 1_flag
usw....
Oder organiesiert man das von Hand Byteweise und fest von mir vergebener Speicheradress?
Wäre Euch für Tipps und Ideen sehr dankbar.
Viele Grüße
Sven
Je nachdem, was du machst, aber im Grunde reicht:
dim conf as eram byte
dim data(64) as eram word
dann kannst du normal damit umgehen.
conf = 23
for x = 1 to 64
data(x) = 12
next
Man sollt aber die Werte nicht zu oft reinschreiben.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Interger sind 4 Bytes?
Am einfachsten ist es, den Wert einfach in eine Eepromadresse zu schreiben und von dort wieder auszulesen.
Ist zumindest meine persönliche Meinung, das es so am einfachsten ist.
Writeeeprom Variable , Adresse
Und auslesen mit Readeeprom Variable , Adresse
Man muss dabei aber beachten, das die Adresse 0 nach einen Reset gelöscht sein kann. Welche Typen das genau betrifft, steht in einer Atmel AppNote.
Und man muss den Platz für die Variablengröße beachten, das beim schreiben der zweiten, nicht teile der ersten Gelöscht werden.
Ein Word belegt 2 Adressen.
Writeeeprom Wordvariable , 1 schreibt den Wert in 1 und 2. Die nächste kann also erst bei 3 beginnen und belegt 4 auch noch.
Lesezeichen