Hallo Roland,
Danke für Deine Antwort.
Eine Datentabelle ist nicht am Programmende.
Sondern nur immer eine DATA Zeile zwischen den Labels.
Wie schon geschrieben der COde Funktioniert, nur wenn es Sprung Label's sind,
dann vermisse ich die Return Zeile.
Die Zeile mit den
Adr2 Null : Adr2 Null : Adr2 S57 : Adr2 Null
ist das eine Art von Array? Es ist je schließlich immer die selbe Variable (Adr2) mit unterschiedlichen Werten.
Hier mal alle DATA Anweisung bzw, das ganze Menue.
Code:
'---------------------------------------------------------------
'DATA: State Machine
'Result: Pointers auf States , Unterprogramme
' Menütexte
'Format: 1. Zeile: für jede Taste genau eine Verzeigung ADR2 (see Key_buttons=xx)
' 2. Zeile: Sprunglabel als ADR2 für ein ggf. anzuspringendes Unterprogramm
' 3. Zeile: Displaytext des akt. Status als DATA Feld
'Hinweis: wenn nichts passieren soll wird das Label NULL eingetragen
'---------------------------------------------------------------
Null:
'Null is a dummy flag for State and Gosub -> do nothing
Return
S10:
Adr2 Null : Adr2 S20 : Adr2 Null : Adr2 S11 'Key_plus|Key_minus|Key_prev|Key_next
Adr2 Null 'Subroutine for current State
Data "1 Butterfly Bascom" 'Menue Display Text
S11:
Adr2 Null : Adr2 Null : Adr2 S10 : Adr2 Null 'Key_plus|Key_minus|Key_prev|Key_next
Adr2 Null
Data "11 Rev 2"
S20:
Adr2 S10 : Adr2 S30 : Adr2 Null : Adr2 S21
Adr2 Null
Data "2 Time"
S21:
Adr2 Null : Adr2 S22 : Adr2 S20 : Adr2 S23
Adr2 Null
Data "21 Clock"
S22:
Adr2 S21 : Adr2 Null : Adr2 S20 : Adr2 S24
Adr2 Null
Data "22 Date"
S23: 'Show HH:MM:SS
Adr2 Null : Adr2 S24 : Adr2 S21 : Adr2 S25
Adr2 Showclock
Data ""
S24: 'Show DD:MM:YY
Adr2 S23 : Adr2 Null : Adr2 S22 : Adr2 S26
Adr2 Showdate
Data ""
S25:
Adr2 S27 : Adr2 Null : Adr2 S23 : Adr2 S65
Adr2 Null
Data "211 Adjust Clock"
S26:
Adr2 Null : Adr2 S28 : Adr2 S24 : Adr2 S66
Adr2 Null
Data "221 Adjust Date"
S27:
Adr2 Null : Adr2 S25 : Adr2 S23 : Adr2 S67
Adr2 Null
Data "212 Clock Format"
S28:
Adr2 S26 : Adr2 Null : Adr2 S23 : Adr2 S68
Adr2 Null
Data "222 Date Format"
S30:
Adr2 S20 : Adr2 S40 : Adr2 Null : Adr2 S31
Adr2 Null
Data "3 DataLogger"
S31:
Adr2 Null : Adr2 S32 : Adr2 S30 : Adr2 S35
Adr2 Null
Data "31 Log Cycle"
S32:
Adr2 S31 : Adr2 S33 : Adr2 S30 : Adr2 S36
Adr2 Null
Data "32 Delete Flash"
S33:
Adr2 S32 : Adr2 S34 : Adr2 S30 : Adr2 S37
Adr2 Null
Data "33 Show LogCount"
S34:
Adr2 S33 : Adr2 Null : Adr2 S30 : Adr2 S38
Adr2 Null
Data "34 Print to RS232"
S35: 'HH:MM
Adr2 Null : Adr2 Null : Adr2 S31 : Adr2 Null
Adr2 Datalogger_setloginterval
Data ""
S36:
Adr2 Null : Adr2 Null : Adr2 S32 : Adr2 S76
Adr2 Null
Data "321 RIGHT Delete DF"
S37: '1234
Adr2 Null : Adr2 Null : Adr2 S33 : Adr2 Null
Adr2 Datalogger_logcount
Data ""
S38:
Adr2 Null : Adr2 Null : Adr2 S34 : Adr2 S78
Adr2 Null
Data "341 RIGHT Print9600B"
S40:
Adr2 S30 : Adr2 S50 : Adr2 Null : Adr2 S41
Adr2 Null
Data "4 ADC"
S41:
Adr2 Null : Adr2 S42 : Adr2 S40 : Adr2 S45
Adr2 Null
Data "41 Temperature"
S42:
Adr2 S41 : Adr2 S43 : Adr2 S40 : Adr2 S46
Adr2 Null
Data "42 Voltage"
S43:
Adr2 S42 : Adr2 S44 : Adr2 S40 : Adr2 S47
Adr2 Null
Data "43 ADC Port RAW"
S44:
Adr2 S43 : Adr2 Null : Adr2 S40 : Adr2 S48
Adr2 Null
Data "44 Battery"
S45: '+24°C
Adr2 Null : Adr2 Null : Adr2 S41 : Adr2 Null
Adr2 Temperaturefunc
Data ""
S46: '0 mV
Adr2 Null : Adr2 Null : Adr2 S42 : Adr2 Null
Adr2 Voltagefunc
Data ""
S47: 'CH:RAW
Adr2 Null : Adr2 Null : Adr2 S43 : Adr2 Null
Adr2 Adc_raw_func
Data ""
S48: '2900mV
Adr2 Null : Adr2 Null : Adr2 S44 : Adr2 Null
Adr2 Adc_batt_func
Data ""
S50:
Adr2 S40 : Adr2 Null : Adr2 Null : Adr2 S51
Adr2 Null
Data "5 Options"
S51:
Adr2 Null : Adr2 S52 : Adr2 S50 : Adr2 S56
Adr2 Null
Data "51 LCD contrast"
S52:
Adr2 S51 : Adr2 S53 : Adr2 S50 : Adr2 S57
Adr2 Null
Data "52 Bootloader"
S53:
Adr2 S52 : Adr2 S54 : Adr2 S50 : Adr2 S83
Adr2 Null
Data "53 LCD OFF"
S54:
Adr2 S53 : Adr2 S55 : Adr2 S50 : Adr2 S58
Adr2 Null
Data "54 LCD Auto Power"
S55:
Adr2 S54 : Adr2 Null : Adr2 S50 : Adr2 S59
Adr2 Null
Data "55 Key Click"
S56: '0...15
Adr2 Null : Adr2 Null : Adr2 S51 : Adr2 Null
Adr2 Setcontrast
Data ""
S57:
Adr2 Null : Adr2 Null : Adr2 S52 : Adr2 S87
Adr2 Null
Data "521 RIGHT bootloader"
S58: 'OFF/5..90min
Adr2 Null : Adr2 Null : Adr2 S54 : Adr2 Null
Adr2 Autopower
Data ""
S59: 'ON/OFF
Adr2 Null : Adr2 Null : Adr2 S55 : Adr2 Null
Adr2 Keyclick_set
Data ""
'Untermenüs zu State 25 bis 28
S65: 'sub for "211 Adjust Clock"
Adr2 S67 : Adr2 Null : Adr2 S23 : Adr2 Null
Adr2 Setclock
Data ""
S66: 'sub for "221 Adjust Date"
Adr2 Null : Adr2 S68 : Adr2 S24 : Adr2 Null
Adr2 Setdate
Data ""
S67: 'sub for "212 Clock Format"
Adr2 Null : Adr2 S65 : Adr2 S23 : Adr2 Null
Adr2 Setclockformat
Data ""
S68: 'sub for "222 Date Format"
Adr2 S66 : Adr2 Null : Adr2 S24 : Adr2 Null
Adr2 Setdateformat
Data ""
'Untermenüs zu State 36 und 38
S76: 'sub for "321 RIGHT Delete DF"
Adr2 Null : Adr2 Null : Adr2 S36 : Adr2 Null
Adr2 Datalogger_erase
Data ""
S78: 'sub for "341 RIGHT Print9600B"
Adr2 Null : Adr2 Null : Adr2 S38 : Adr2 Null
Adr2 Datalogger_rs232
Data ""
'Untermenü zu State 53 und 57
S83: 'sub for "53 LCD OFF"
Adr2 Null : Adr2 Null : Adr2 S53 : Adr2 Null
Adr2 Power_off_func
Data ""
S87: 'sub for "521 RIGHT bootloader"
Adr2 Null : Adr2 Null : Adr2 S57 : Adr2 Null
Adr2 Bootfunc
Data ""
Das Komplette Programm findet man im RN Wissen (Link im ersten Post)
Gruß Ingo
Lesezeichen