PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Auslesen im Programmer



Harald007
24.10.2007, 22:19
Hallo zusammen,

Ich habe im Bascom offensichtlich ein Verständnisproblem.

Wenn ich eingebe:

Dim Ar01 As Byte At &H60
Dim Ar02 As Byte At &H70
Dim Ar03 As Byte At &H80

Do

Ar01 = 222
Ar02 = "222"
Ar03 = 222

Loop
End

Dann möchte ich im FlashROM AR01, AR02 und AR03 (in Zeile 0060, 0070 und 0080) abgebildet sehen. Stattdessen ist nur undefiniertes Zeug zu sehen.

Hat jemand Tipps für mich?

kolisson
25.10.2007, 00:12
jetzt bin ich bei deiner anfrage aber etwas mit offenem mund stehen geblieben, weil eigentlich dachte ich, du hättest recht. ich war schon drauf und dran, meinen programmer anzuschliessen und die sache zu prüfen.
das einzige, was mir sofort auffiel, was nicht gehen sollte, ist das mit dem Ar02.

Ar02 = "222"


mit den anführungszeichen passt das nicht zum byte.
wahrscheinlich haste das aber nicht so gemeint.

und nun... noch anders:

wenn man drüber schreibt und denkt sieht man noch klarer, als man dachte denken zu können:

die lösung ist ganz einfach:

variablen stehen im s-ram der cpu ! nicht im flash!


das ist alles.


gruss

Vitis
25.10.2007, 00:39
Außerdem stehen da Hex-Werte ;)

mlgahoc
25.10.2007, 06:38
Hallo,

um solche Dinge herauszufinden ist der Bascom Simulator gut geeignet.
Nach dem Compilern den Simulator starten.
Auf den Button "M" klicken, da kann man auswählen was rechts angezeigt wird.
Man kann dann noch den Speicher auswählen und auch das Anzeigeformat.
Dann im Einzelschritt das Programm abarbeiten.
So bekommt man auch heraus was die Anweisung:
Ar02 = "222"
erzeugt.
Stichwort ASCII Tabelle.

Mit dem Simulator kann man noch einiges mehr machen, einfach mal ausprobieren.

Gruß Manfred
www.malo-web.de

Harald007
25.10.2007, 20:34
Kolisson schrieb:
die lösung ist ganz einfach:
variablen stehen im s-ram der cpu ! nicht im flash!
das ist alles.

Im Programmer habe ich nur die Laschen "FlashROM", "EEPROM" und "Lock and Fuse Bits" zur Auswahl.
Stimmen meine Einstellungen im Bascom Programmer nicht?
Im Simulator funktíoniert alles astrein, nur will ich im realen Programm (am realen Chip) die gespeichterte Information an dem Ort sehen den ich bestimme.
(Ich verwende einen ATmega8-Chip)

Gento
26.10.2007, 00:01
Dim Ar01 As Byte At &H60
Dim Ar02 As Byte At &H70
Dim Ar03 As Byte At &H80
Besagt das die Variablen im Ram liegen = nach dem Ausschalten ungültig.

Auf diese Variablen hast Du im Programmer NIE zugriff.

Was soll das nun werden ?

Dauerhafte Konstanden im Flash ?
Variablen im Eram dauerhaft gesichert ?

Gento

Harald007
29.10.2007, 20:43
Das ist mir schon klar, dass ich Daten verliere wenn ich ausschalte oder resete.
Nachdem das Programm übertragen wurde kann ich doch gleich anschließend (nach minimaler Zeitverzögerung) mit "read flash rom into buffer" die Werte auslesen und angezeigt bekommen, oder nicht?

Wenn ich die Variablen im ERAM abspeichere funktionierts auch nicht.

Gibt es überhaupt die Möglichkeit, den Wert der Variablen &H60, &H70 und &H80 im Programmer darzustellen?

Harald007

Gento
29.10.2007, 23:35
Ram ist kein Eram.

Ram geht nicht direkt auszulesen
Eram schon.
Programflash auch.

Also Ram ins Eram sichern und auslesen.

Es sei das der Programierer Bereiche gesperrt hat.
Das kann man schon aufheben , nur kommt beim Auslesen dann 123XYZ usw

Gento