Forum: Mikrocontroller und Digitale Elektronik Frage zum debounce-befehl


von Tobias K. (kohl-t)


Lesenswert?

Hallo, ich schreibe zum ersten mal in diesem Forum und beschäftige mich 
auch erst zwei Tage mit µC's. Ich probiere grundlegende Funktionen mit 
BASCOM aus und bin jetzt bei dem debounce-befehl hängen geblieben:
Ich möchte über zwei Taster zwei LED's toggeln und habe mir folgenden 
Code zusammen gereimt:

                               $regfile = "m32def.dat"

 $crystal = 1000000

 Config Porta.0 = Output
 Config Porta.1 = Output
 Config Pinb.0 = Input
 Config Pinb.1 = Input


Config Debounce = 50

Do
Debounce Pinb.0 , 1 , Schalter1 , Sub
Debounce Pinb.1 , 1 , Schalter2 , Sub

Loop

Schalter1:
Toggle Porta.0
Return

Schalter2:
Toggle Porta.1
Return


End


Ergebniss ist das nur die erste LED das macht was sie soll, die zweite 
rührt sich nicht. Könnt ihr mir sagen wo der Fehler liegt?

von Stefan B. (Gast)


Lesenswert?

Ändert sich was, wenn du die beiden Zeilen in der DO LOOP tauschst? 
Ansonsten vielleicht: LED2 falsch herum eingebaut oder kaputt? 
LED2/Taster2 kalte Lötstelle oder wackelkontakt?

von Tobias K. (kohl-t)


Lesenswert?

Stefan B. schrieb:
> Ändert sich was, wenn du die beiden Zeilen in der DO LOOP tauschst?
> Ansonsten vielleicht: LED2 falsch herum eingebaut oder kaputt?
> LED2/Taster2 kalte Lötstelle oder wackelkontakt?

Ja, beim vertauschen der do-Zeilen leuchtet *) die zweite LED dauerhaft 
und die erste funktioniert nach wie vor wie sie soll. Hardwareseitig 
dürfte sich nichts fehlen, hab alles auf dem Evaluationsboard aufgebaut 
und bei anderen Testprogrammen funktionierten sowohl der zweite Taster 
als auch die LED.

*) Die LED leuchtet auf halber Helligkeit, bin mir ziemlich sicher dass 
sie gepulst ist, also in irgend einer schleife in der sie immer wieder 
ein und ausschaltet..

von Karl H. (kbuchegg)


Lesenswert?

Was mir auffällt:
Du hast keine Pullup Widerstände an den Tastern eingeschaltet.
Hast du externe drann?

von Tobias K. (kohl-t)


Lesenswert?

Karl heinz Buchegger schrieb:
> Was mir auffällt:
> Du hast keine Pullup Widerstände an den Tastern eingeschaltet.
> Hast du externe drann?

Ich hab ein fertig gekauftes Evaluationsboard, nach Schaltplan sind die 
Taster mit einem pull-down und einem Kondensator (evtl zur Entprellung?) 
versehen, sie schalten also 5V durch.

von Stefan B. (Gast)


Lesenswert?

Hast du den Schaltplan oder einen Link dazu?

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
Noch kein Account? Hier anmelden.