mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Taster an Controller vorübergehend deaktivieren?


Autor: ChrisFTB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Wie deaktiviere ich einen Taster an einem Mega8 in Bascom für einen 
bestimmten Zeitraum einen Taster?

Es soll so sein, daß das Drücken des Taster 1 so lange keine Funktion 
hat, wie Taster 2 gedrückt ist....


Danke!

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

Bewertung
0 lesenswert
nicht lesenswert
Du hast ja eine Behandlungsroutine für Taster 2.
In dieser Behandlungsroutine fragst du Taster 1 ab und
wenn der gedrückt ist, dann lässt du deine Behandlungsroutine
sofort beenden -> Der Taster 2 wurde zwar gedrückt, aber das
Programm ignoriert ihn ganz einfach.

Autor: Karl-j. B. (_matrixman_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was auch ne möglichkeit wäre (aber nicht wirklich optimal) wenn du 
solange den Pin als Ausgang schaltest. (Aber aufpassen das kein 
kurzschluss machst)

Autor: ChrisFTB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja- idee 2 hatte ich auch, erachte sie aber auch als gewagt.

-und idee 1 kam mir exakt 4 sekunden, nachdem ich den beitrag 
geschrieben habe....

aber gibt es denn keinen befehl, der einen einmal konfigurierten port 
wieder deaktiviert?


danke!

Autor: Troll Blaubär (blaubeer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ChrisFTB wrote:
> naja- idee 2 hatte ich auch, erachte sie aber auch als gewagt.
>
> -und idee 1 kam mir exakt 4 sekunden, nachdem ich den beitrag
> geschrieben habe....
>
> aber gibt es denn keinen befehl, der einen einmal konfigurierten port
> wieder deaktiviert?

Jetzt muss ich aber laut lachen. - Sorry.... Woher hast Du denn diesen 
Unfug?

Du kannst die Ports jederzeit umkonfigurieren. Vergiss die idiotischen 
Config-Anweisungen und schau mal ins Datenblatt. Die Datenrichtung setzt 
Du durch Schreiben des entsprechenden Bitmusters in das 
Datenrichtungsregister (ddra, ddrb, ddrc, ddrd), den Eingangszustand 
liest Du über die pinX-Register ein, die Ausgänge oder internen 
Pull-Up-Widerstände schaltest Du mit den portX-Registern. Kein Mensch 
braucht diese volksverdummenden Config-Anweisungen.


>
>
> danke!

Nix zu danken, gern geschehen.

Angenommen, ich müsste eine Taste sperren, während eine andere Aktion 
läuft, dann würde ich gegen Ende dieser Aktion, also vor Rücksprung in 
die Mainloop, in der die entprellten Tasten abgefragt werden, einfach 
das entsprechende Bit in Key_press (Dannegger-Entprellung) löschen. Dies 
annulliert einen evtl. inzwischen aufgetretenen Tastendruck.

MfG, Blaubär

Autor: Nixda (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich bin ja auch ein freund von bascom,
habe aber mit ASM angefangen,habe deswegen auch keine
probleme mit bascom.für C gilt das selbe.

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.