wenn ich die doppelpunkte zwischen case 1 und wochentag weglasse kommt bei den errors: 2x error 35 in der case 1 & 2 Zeile
und einmal 269 in der case 2 zeile.
hier nochmal der komplette 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 Showdigitalporta() 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 Word 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 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 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 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 End Sub Sub Plusminute() Minute = Minute + 1 Print Stunde ; ":" ; Minute ; ":" ; Sekunde End Sub Sub Plusstunde() Stunde = Stunde + 1 Print Stunde ; ":" ; Minute ; ":" ; Sekunde 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







Zitieren

Lesezeichen