Hallo ich habe kleines Bascom Progamm geschrieben und finde den Fehler nicht. Ich habe an ein Baby Orangutanboard einen Hallsensot an Int0 angeschlossen. Nach Minute 1 fängt LED zu leuchten an und schaltet wie gewünscht nach 10 Sensorimpulsen ab. Das LED sollte aber nach Minute 2 wieder anfangen zu leuchten, aber hier liegt das Problem. Bin Anfänger und befürchte ich habe eien Denkfehler. Ausserden ist die Timereistellung auch noch nicht richt , eine Minute dauert mit dieser Einstellung nur ca 30 sec. Aber das ist nicht so wild
Ich hoffe jemand kann mir helfen !!!Code:'Bascom Hallsensor test $regfile = "m328pdef.dat" $crystal = 20000000 'Quarzfrequenz $hwstack = 32 $framesize = 64 $swstack = 32 Config Pind.1 = Output 'Timer und der Teiler festlegen 10ms Config Timer0 = Timer , Prescale = 1024 On Timer0 Timer_irq Const Timervorgabe = 175 Config Int0 = Rising Enable Int0 Enable Interrupts Dim Hallimpuls As Integer Dim Cnt As Byte Dim Sekunde As Byte Dim Minute As Byte Dim Stunde As Byte Dim Sekunde_last As Byte Hallimpuls = 0 Stunde = 0 Minute = 0 Sekunde = 0 Enable Timer0 Do ' 1. Minute If Stunde = 0 And Minute = 1 Then Gosub Led ' 2. Minute If Stunde = 0 And Minute = 3 Then Gosub Led Loop Led: Hallimpuls = 0 On Int0 Zaehlen If Hallimpuls = 0 Then Toggle Portd.1 Do Idle Loop Until Hallimpuls = 10 Else Reset Portd.1 End If Return Zaehlen: Incr Hallimpuls Return Timer_irq: Timer0 = Timervorgabe Incr Cnt If Cnt = 50 Then Portb.6 = 0 End If If Cnt = 100 Then Portb.6 = 1 Sekunde = Sekunde + 1 If Sekunde = 60 Then Sekunde = 0 Minute = Minute + 1 If Minute = 60 Then Minute = 0 Stunde = Stunde + 1 If Stunde = 24 Then Stunde = 0 End If End If End If Cnt = 0 End If Return
Lesezeichen