mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Taster und Bascom


Autor: hilfe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: hilfe (Gast)
Datum:

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

Autor: Pascal Möller (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: hilfe (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Allu (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Allu (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: hilfe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Allu.

Ich werde es gleich austesten. Danke.

Autor: hilfe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok funktioniert alles einwandfrei.

Danke nochmals Allu.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.