Bascom-Problem mit Sub-Routine

Gast #60242
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
Gast #60243
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
Gast #60244
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.