Theend, schön langsam wirds lächerlich
1 | $regfile = "attiny2313.dat"
|
2 | $crystal = 8000000
|
3 | $hwstack = 40
|
4 | $swstack = 16
|
5 | $framesize = 32
|
6 |
|
7 | 'CONFIG
|
8 | Dim A As Byte 'zum speichern
|
9 | Dim Ae As Eram Byte 'eeprom
|
10 |
|
11 | 'START
|
12 |
|
13 | A = 56
|
14 | Ae = A
|
15 |
|
16 | End
|
oder
oder
oder eben auch
Zuweisung ist Zuweisung. Was immer du an Ae zuweist (das als ERAM
Variable im EEPROM liegt), das wird auch dort gespeichert. Egal wo du
den 8 Bit Wert her hast. Eine Zuweisung besteht aus einer Seite links
vom = und einer Seite rechts vom =. Die Seite links vom = ist die
Variable im EEPROM. Alles was dieser zugewiesen wird, landet auch dort.
Rechts vom = kannst du haben was du willst. Die rechte Seite der
Zuweisung wird ausgewertet, ergibt so einen Wert und der wird der links
angegebenen Variablen zugewiesen. Und wenn es leicht geht, dann sollte
die rechte Seite dann auch einen Wert ergeben, der im Datentyp so
einigermassen mit dem Datentyp der Variablen auf der linken Seite
übereinstimmt.
1 | Dim A As Byte
|
2 | A = "01010110"
|
links vom = steht eine Variable ('A'), die so definiert ist, dass sie 1
Byte speichern kann. Rechts vom = steht ein String. Ist ein String
dasselbe wie ein Byte? Nein, ist er nicht. Ein String ist eine
Zeichenkette und besteht als solche aus mehreren Bytes - pro Buchstabe 1
Byte. Daher ist diese Zuweisung Quatsch (zumindest in diesem
Zusammenhang). Denn der String wird als ganzes nun mal nicht in dieses 1
Byte passen. Lass dich nicht davon verleiten, das im String nur die
Zeichen '0' und '1' vorkommen. Das hat an sich überhaupt nichts zu
sagen. Das ist nach wie vor einfach nur ein Text. Ein String ist immer
ein String, unabhängig davon was im String-Text steht. Da hätte
genausogut auch
stehen können, das würde für die Operation, die bei der Zuweisung
abläuft, keinen Unterschied machen.