warum denn das ? Im Atmel sind die Variablennamen sowieso Schall und Rauch. Im Bin-File was du in den Atmel programmierst sind es sowieso nur noch Speicheradressen. Da ist kein einziger Variablenname oder Sprunglabel aus deinem Programm mehr drin.ich möchte den Namen einer Variablen als LCD-Text ausgeben,
Dim A As Word
Dim B(2) As Byte At A Overlay
da gibts nichts einzufallen wo nix ist kann man auch nix herzaubern. Bei nem Interpreter im PC wirst du die wohl noch sehen. Bei nem "Halbcompilat" wie zB bei Java wo das Programm so ein Mittelding zwischen Binär und Interpreter ist könnte man eventuell auch noch was finden. Spätestens wenn du ein richtig kompiliertes Programm hast (Assembler, C, Bascom, ...) wirst du keine Variablennamen in der ausführbaren Datei mehr finden. Warum auch. Sie würden das Programm ja nur aufblähen und hätten keinen wirklichen Nutzen. Du kannst also nur die Variablennamen irgendwie (DATA, einzelne Textausgaben, wie auch immer) im Programm als Daten reinsetzen damit du sie in die LCD-Anzeige bekommst.Ich will eine Schleife nutzen, die immer nur die Namen und Werte der anzuzeigenden Infos aus dem Programm holt, anstatt sie nochmals von Hand als Text zu hinterlegen. Aber wie Du sagst, wird das wohl nicht gehen. Vielleicht geht das mit einem Data-Block noch am besten, wenn ich dort den Text ablege. Aber überleg´ ruhig nochmal, vielleicht fällt Dir doch was ein.
.
.
'Schnipp
.
.
' Uhrzeit-Variablen
Dim _weekday As Byte
Dim _day As Byte
Dim _month As Byte
Dim _year As Byte
Dim _sec As Byte
Dim _min As Byte
Dim _hour As Byte
'Dim Ds1307w As Byte
'Dim Ds1307r As Byte
Const Ds1307w = &B11010000
Const Ds1307r = &B11010001
_weekday = 6
_day = 31
_month = 12
_year = 11
_sec = 40
_min = 59
_hour = 23
_sec = Makebcd(_sec)
_min = Makebcd(_min)
_hour = Makebcd(_hour)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cwbyte _sec
I2cwbyte _min
I2cwbyte _hour
I2cstop
_day = Makebcd(_day)
_month = Makebcd(_month)
_year = Makebcd(_year)
I2cstart
I2cwbyte Ds1307w
I2cwbyte 3
I2cwbyte _weekday
I2cwbyte _day
I2cwbyte _month
I2cwbyte _year
I2cstop
.
.
' hier ist noch anderer Kram dazwischen
.
.
Cls
Lcdat 2 , 1 , _sec ; " " ; _min ; " " ; _hour ; " " ; _weekday ; " " ; _day ; " " ; _month ; " " ; _year , 0
Wait 1
I2cstart
I2cwbyte Ds1307w
I2cwbyte 0
I2cstart
I2cwbyte Ds1307r
I2crbyte _sec , Ack
I2crbyte _min , Ack
I2crbyte _hour , Ack
I2crbyte _weekday , Ack
I2crbyte _day , Ack
I2crbyte _month , Ack
I2crbyte _year , Nack
I2cstop
Lcdat 4 , 1 , _sec ; " " ; _min ; " " ; _hour ; " " ; _weekday ; " " ; _day ; " " ; _month ; " " ; _year , 0
Wait 10
.
.
'und dann gehts weiter...
Nur der Wochentag will nicht.
......gibt es denn eine, die Sommer-Winterzeit beherrscht?
Ich werde doch nicht Dienstag hinschreiben, wenn Donnerstag ist. Oder doch???