www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Taster Problem. Mach ich da etwas falsch ?


Autor: noob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus allerseits ^^.

Ich habe einen Taster an den Attiny 2313 angeschlossen, aber irgendwie 
reagiert der MC nicht auf den Tastendruck.


So hab ich das angeschlossen:

                     _
                   __|__ S1
                  /
PD4---------------    -------------------- GND.

Mein Code sieht so aus:

Config Pind.4 = Input
Portd.4 = 1
'//Internetn Pull UP  Widerstand aktivieren

   Do

    If Pind.4 = 0 Then
      Call Null()
    End If
   Loop

Hab es auch mit If Pind.4 = 1 Then... versucht, geht auch nicht.

Bin noch anfänger...

Autor: Franz-Rainer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und was passiert bei Call Null()?

Ist das Bascom?

Autor: noob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Franz.

Ja das ist Bascom. Bei Call Null wird ebenhalt meine Segment Anzeige zu 
Null ^^. Die Prozedur funktioniert auf jeden fall, ich habe sie schon 
getestet.

Autor: Franz-Rainer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bascom hat doch einen Simulator. Funktioniert es dort?

Autor: Franz-Rainer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schreib mal:

Config Portd.4 = Input

Autor: noob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
geht leider auch nicht :(

Autor: Franz-Rainer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Probier mal:

ddrd = &b00000000

Autor: noob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
funktioniert leider auch nicht :(

Autor: EF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fehlt da nicht ein Pullup-Widerstand ? (auf der Portseite)

Autor: EF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
       Vcc
       |
      | | ca. 4,7K    _
      | |           __|__ S1
       |           /
PD4----o-----------    -------------------- GND.

Autor: EF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich sehe gerade, dass du den ja intern aktiviert hast, also vergiss 
meine Anmerkungen

Autor: Franz-Rainer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen...

Also habe den Code unten eingegeben, und es funktioniert einwandfrei.
Denke es hat was mit deinem  "Call Null()" zu tun.

Config Portb = Output
Config Pind.4 = Input
Portd.4 = 1
'//Internetn Pull UP  Widerstand aktivieren

   Do
    If Pind.4 = 0 Then
     Portb = 0
    Else
      Portb = 255
    End If
   Loop

Autor: Franz-Rainer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch so funktionierts:



Config Portb = Output
Config Pind.4 = Input
Portd.4 = 1           '//Internetn Pull UP  Widerstand aktivieren


Declare Sub Null()
Declare Sub Eins()

   Do
    If Pind.4 = 0 Then
     Call Null()
    Else
      Call Eins()
    End If
   Loop

Sub Null()
   Portb = 0
End Sub

Sub Eins()
   Portb = 255
End Sub

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.