Frage zum debounce-befehl

OP #1542595
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?
OP #1542662
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..
OP #1542749
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren