Wenn ich anstat Der Namen zahlen hinschreibe geht es, aber es geht doch gerade um die namen![]()
Kann es sein das man bei vairablen nur zahlen machen kann?
weil das mit den wörtern ist eigentlich genau das ,was ich wollte.
Edit: So, habe herausgefunden das word variablen keine wörter speichern können, also den type oben auf byte gesetzt, da die dan buchstaben speichern können.
Nun kommen keine error meldungen meer aber im terminal steht:
0:2:25:68
0:2:26:68
0:2:27:68
0:2:28:68
0:2:29:68
Warum 68? da müsster doch ein Tag stehen!
Der gesammte code:
Code:$regfile = "m32def.dat" $framesize = 32 $swstack = 32 $hwstack = 32 $crystal = 16000000 $baud = 9600 Declare Sub Plussekunde() Declare Sub Plusminute() Declare Sub Plusstunde() Declare Sub Clockstart() Declare Sub Plustag() Declare Function Tastenabfrage() As Byte Dim I As Integer Dim N As Integer Dim Ton As Integer Dim Sekunde As Word Dim Minute As Word Dim Stunde As Word Dim Wochentag As Byte Dim Tag As Word Dim Taste As Byte Config Portc = Output Portc = 11111111 Config Adc = Single , Prescaler = Auto 'Für Tastenabfrage und Spannungsmessung Config Pina.7 = Input 'Für Tastenabfrage Porta.7 = 1 Do Taste = Tastenabfrage() If Taste <> 0 Then Select Case Taste Case 1 Call Plussekunde Case 2 Call Plusminute Case 3 Call Plusstunde Case 4 Call Clockstart Case 5 Call Plustag End Select Sound Portd.7 , 400 , 500 'BEEP End If Waitms 100 If Sekunde = 60 Then Sekunde = 0 Minute = Minute + 1 Else End If If Minute = 60 Then Minute = 0 Stunde = Stunde + 1 Else End If If Stunde = 24 Then Stunde = 0 Tag = Tag + 1 End If If Tag > 7 Then Tag = 1 End If 'Select Case Tag 'Case 1 Wochentag = "Montag" 'Case 2 Wochentag = "Dienstag" 'Case 3 Wochentag = "Mittwoch" 'Case 4 Wochentag = "Donnerstag" 'Case 5 Wochentag = "Freitag" 'Case 6 Wochentag = "Samstag" 'Case 7 Wochentag = "Sonntag" 'Else Case 'End Select Select Case Tag Case 1 Wochentag = "Montag" Case 2 Wochentag = "Dienstag" Case 3 Wochentag = "Mittwoch" Case 4 Wochentag = "Dönnerstag" Case 5 Wochentag = "Freitag" Case 6 Wochentag = "Samstag" Case 7 Wochentag = "Sonntag" End Select Loop End Function Tastenabfrage() As Byte Local Ws As Word Tastenabfrage = 0 Ton = 600 Start Adc Ws = Getadc(7) If Ws < 500 Then Select Case Ws Case 400 To 450 Tastenabfrage = 1 Ton = 550 Case 330 To 380 Tastenabfrage = 2 Ton = 500 Case 260 To 305 Tastenabfrage = 3 Ton = 450 Case 180 To 220 Tastenabfrage = 4 Ton = 400 Case 90 To 130 Tastenabfrage = 5 Ton = 350 End Select Sound Portd.7 , 400 , Ton End If End Function Sub Plussekunde() Sekunde = Sekunde + 1 Print Stunde ; ":" ; Minute ; ":" ; Sekunde ; ":" ; Wochentag End Sub Sub Plusminute() Minute = Minute + 1 Print Stunde ; ":" ; Minute ; ":" ; Sekunde ; ":" ; Wochentag End Sub Sub Plusstunde() Stunde = Stunde + 1 Print Stunde ; ":" ; Minute ; ":" ; Sekunde ; ":" ; Wochentag End Sub Sub Plustag() Tag = Tag + 1 Print Stunde ; ":" ; Minute ; ":" ; Sekunde ; ":" ; Wochentag End Sub Sub Clockstart() Config Timer1 = Timer , Prescale = 256 'Konfiguriere Timer1 Enable Interrupts Enable Timer1 Sekunde = Sekunde + 1 ' + 1Sekunden für Timerausgleich On Timer1 Isr_von_timer1 'verzweige bei Timer1 überlauf zu Isr_von_Timer1 Enable Interrupts Timer1 = 68570 'Timer1 soll schon von 34285 wegzählen End Sub Isr_von_timer1: 'ISR von Timer1 Timer1 = 68570 'Sound Portd.7 , 400 , 550 'Print "Stunde" ; Stunde ; " Minute:" ; Minute ; " Sekunde:" ; Sekunde Print Stunde ; ":" ; Minute ; ":" ; Sekunde ; ":" ; Wochentag Sekunde = Sekunde + 1 Toggle Portc.0 Return Isr_von_timer1: 'ISR von Timer1 Timer1 = 68570 'Sound Portd.7 , 400 , 550 'Print "Stunde" ; Stunde ; " Minute:" ; Minute ; " Sekunde:" ; Sekunde Print Stunde ; ":" ; Minute ; ":" ; Sekunde ; ":" ; Wochentag Sekunde = Sekunde + 1 Toggle Portc.0 Return







Zitieren

Lesezeichen