Hallo, ich habe mit nachfolgendem "Programm" ein Problem, deshalb wende ich mich an das Forum und hoffe auf ein paar Tips. Grundgedanke ist: Mit entprelltem Taster (Pind.0) soll bis 3 gezählt und in die entsprechende Sub-Routine verzweigt werden. Ist der A-Wert größer als 3 geschieht ein Neuanfang, da ich A=0 setze. (System Ringzähler). Bis hierher funktioniert das Programm wunschgemäß! In den Sub's soll allerdings jeweils eine weitere Aktivität ausgelöst werden. Ich habe es als Beispiel unter den Sub's als Kommentar eingetragen. Das funktioniert nicht! Mit Tastendruck D.0 Sub aufrufen und mit Taster D.1 soll die Unterroutine Strt ausgelöst werden. und mit D.1 "bestätigen". Mit anderen Worten, nur wenn die entsprechende Sub aufgerufen UND zur Bestätigung Taster D.1 gedrückt wird wird aktiviert. Danke und Gruß Holger. $regfile = "2313def.dat" $crystal = 4000000 Dim A As Byte Dim B As Byte Config Portb = Output Config Pind.0 = Input Config Pind.1 = Input Config Pind.5 = Output Pind.0 = 1 Pind.1 = 1 Afg: A = 0 Do Debounce Pind.0 , 0 , Cnt , Sub Debounce Pind.1 , 0 , Strt , Sub Loop Cnt: A = A + 1 If A = 1 Then Gosub Sub1 If A = 2 Then Gosub Sub2 If A = 3 Then Gosub Sub3 If A = 3 Then Goto Afg Return Sub1: Portb = &B00000001 'IF Pind.1 = 0 then gosub Strt ' Ist Taste D.1 gedrückt, dann springe zu "Strt" Return Sub2: Portb = &B00000010 'IF Pind.1 = 0 then gosub Strt1 ' Ist Taste D.1 gedrückt, dann springe zu "Strt1" Return Sub3: Portb = &B00000100 'IF Pind.1 = 0 then gosub Strt2 ' Ist Taste D.1 gedrückt, dann springe zu "Strt2" Return Strt: Sound Portd.5 , 500 , 400 Return
Zum bestätigen ist das hier vieleicht besser: Strt: Select case A case 1 Sound Portd.5 , 500 , 400 case 2 Sound Portd.5 , 500 , 600 case 3 Sound Portd.5 , 500 , 800 End Select PortB = 0 Return
Hallo Bernd, einfach Spitze! Es klappt! Eigentlich hätte ich auch darauf kommen müssen, aber naja... Vielen Dank für die gute und schnelle Hilfe!!! Jetzt komme ich weiter mit meinem Kurzzeitimer. Gruß Holger
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.