www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Tastenabfrage so OK?


Autor: Herbert Glück (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist es OK mehrere Pinzustände in unten genannter Form abzufragen oder 
macht man das lieber einzeln?


if ((!(T1)) && (!(T2)) && (!(T3)) && (!(T4)))  // Wenn alle 'low'
{
  status = 1;
}


Gruß, Herbert

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer oder was sind
T1, T2, T3 und T4?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kommt darauf an, was hinter den T... steckt und ob du z.B. eine 
Entprellung haben willst und um welchen µC es geht. Manche µC können 
einzelne Pins (Bits) abfragen, andere nur einen kompletten Port. Wenn du 
letzteren programmierst, hast du mit deiner Methode natürlich eine 
riesige Codeaktion ausgelöst, statt einmal den Port einzulesen und dann 
mit einer Maske die einzelnen Bits zu prüfen. Der Zugriff auf den Port 
ist normalerweise volatile, d.h. der Compiler darf die Zugriffe auch 
nicht zusammenfassen. Es werden also vier seperate Einleseoperationen 
gemacht. Für AVRs gibt es gute Funktionen zur Entprellung, die mehrere 
Tasten überwachen können und denen du die Auswertemaske übergeben 
kannst.

Autor: Herbert Glück (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> T1, T2, T3 und T4

Das sind die Eingänge, entprellen muss ich die nicht, das waren mal 
Taster, sorry, hätte ich dazu schreiben sollen. Jetzt sind es Ausgänge 
von nem Halbleiter, prellen also nicht.

Der Controller ist ein MSP.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Herbert Glück schrieb:
> Jetzt sind es Ausgänge
> von nem Halbleiter, prellen also nicht.

Das eine hat mit dem anderen überhaupt garnichts zu tun.

Ein 74HC04-Gatter ist z.B. ein Halbleiter und das Prellen ist dahinter 
genauso stark, wie davor.

Eine Halbleiterschaltung entprellt nur dann, wenn sie auch entsprechend 
ausgelegt ist.

Eine extra Entprellschaltung rechnet sich aber im allgemeinen nicht. 
Denn der Codeaufwand und die CPU-Last für eine gute Softwareentprellung 
ist geradezu lächerlich gering.


Peter

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.