Forum: Mikrocontroller und Digitale Elektronik Taster und Bascom


von hilfe (Gast)


Lesenswert?

Hallo alle.

Ich bin Anfänger und möchte gerne einen Taster an meinen µC anbringen. 
Dazu habe ich mir das AVR Tutorial durchgelesen. Habe auch eigentlich 
den HardWare Kram verstanden. Meine Frage ist nun, wie ich mit Bascom 
abfragen kann ob der Taster gedrückt wurde. Vielleicht kann mir jemand 
einen kleinen Beispiel Code geben.

lg.

von hilfe (Gast)


Lesenswert?

Habs vergessen, ich möchte mit einem PullUp-Widerstand arbeiten, also 
nicht den internen PullUp Widerstand benutzen.

von Pascal Möller (Gast)


Lesenswert?

Soweit ich mich recht erinnere, musst du den entsprechenden Port erstmal 
als Eingang definieren.

define PortB.0 = Input <-- mit dem define bin ich mir nicht ganz sicher.


Dann kannst du einfach per if (portb.0 = 1) then.....

Bascom hat allerdings eine sehr gute Hilfedatei. Da findet man 
eigentlich alles was man braucht ;-)

von hilfe (Gast)


Lesenswert?

Hallo Pascal.

Danke für deine Antwort.

Ich bin jetzt etwas durcheinander. Soweit ich das verstanden habe, muss 
ich den Port nur dann als Eingang definieren, wenn ich die internen 
Pullup Widerstände benutzen möchte. Jetzt frage ich mich, soll ich 
lieber doch mit den internen PullUp Widerständen arbeiten ?. Wie müsste 
ich dann den Schalter anbringen ? Im AVR-Tutorial wird leider nur die 
Lösung mit einem externen Pullup-Widerstand gezeigt.

lg.

von Allu (Gast)


Lesenswert?

Zum Beispiel einen Taster zwischen Portpin d5 und Masse anschliessen.

Vorbereiten:

Config Portd.5 = Input    'Port d5 als Eingang
Portd.5 = Eins            'Pullup einschalten


Taster im Programm abfragen:

If Pind.5 = 0 Then
        ' Taste gedrückt, irgendwas tun
End If

Grüsse Allu

von Allu (Gast)


Lesenswert?

Sorry, habe noch eine Zuweisung vergessen:

Eins Alias 1

oder für das Wort Eins die Zahl 1 eintragen, Beispiel:

Config Portd.5 = Input
Portd.5 = 1

Grüsse
Allu

von hilfe (Gast)


Lesenswert?

Hallo Allu.

Ich werde es gleich austesten. Danke.

von hilfe (Gast)


Lesenswert?

Ok funktioniert alles einwandfrei.

Danke nochmals Allu.

von Hannes L. (hannes)


Lesenswert?

Unabhängig von der Programmiersprache findet man die Beschreibung der 
Ports (deren I/O-Register) recht ausführlich im Datenblatt des 
entsprechenden AVRs. Auf die I/O-Register (hier PORTD, DDRD und PIND) 
kann man auch direkt zugreifen.

...

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.