Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
einfache_ein-_und_ausgaben [2012/04/12 08:42] – huwaldt | einfache_ein-_und_ausgaben [2019/07/27 16:42] – huwi | ||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
In diesem Abschnitt soll ebenfalls auf der Basis der myAVR C++ Portdeklarationen die Realisierung von einfachen Eingaben veranschaulicht werden. Zuerst wollen wir kurz die Spezifik der Eingabe über Taster diskutieren. Das Bild verdeutlicht, | In diesem Abschnitt soll ebenfalls auf der Basis der myAVR C++ Portdeklarationen die Realisierung von einfachen Eingaben veranschaulicht werden. Zuerst wollen wir kurz die Spezifik der Eingabe über Taster diskutieren. Das Bild verdeutlicht, | ||
- | >>> | + | > |
Offene Eingänge sind empfindliche Empfänger für allerlei Elektrosmog. Die Eingabe liefert faktisch willkürliche Signale. Abhilfe schaffen hier sogenannte PullDown- oder PullUp-Widerstände. Diese ziehen die Leitung auf ein definiertes Potenzial und entstören diese somit. | Offene Eingänge sind empfindliche Empfänger für allerlei Elektrosmog. Die Eingabe liefert faktisch willkürliche Signale. Abhilfe schaffen hier sogenannte PullDown- oder PullUp-Widerstände. Diese ziehen die Leitung auf ein definiertes Potenzial und entstören diese somit. | ||
Früher wurden diese PullUp-Widerstände in der Schaltung explizit eingebaut. AVR Controller verfügen über interne PullUp- und die Xmega Serie zusätzlich auch noch über interne PullDown-Widerstände. Diese müssen bei Bedarf einfach nur aktiviert werden. Dazu dienen die bereits angesprochenen Register, welche zu einem GPIO-Port gehören. Wenn ein Port als Eingang konfiguriert ist, wird beim AVR über das Ausgaberegister keine Ausgabe erzeugt, sondern der interne PullUp aktiviert. | Früher wurden diese PullUp-Widerstände in der Schaltung explizit eingebaut. AVR Controller verfügen über interne PullUp- und die Xmega Serie zusätzlich auch noch über interne PullDown-Widerstände. Diese müssen bei Bedarf einfach nur aktiviert werden. Dazu dienen die bereits angesprochenen Register, welche zu einem GPIO-Port gehören. Wenn ein Port als Eingang konfiguriert ist, wird beim AVR über das Ausgaberegister keine Ausgabe erzeugt, sondern der interne PullUp aktiviert. | ||
- | >>>< | + | >< |
// Port D Bit 2 als Eingang konfigurieren | // Port D Bit 2 als Eingang konfigurieren | ||
ddrD.bit2 = 0; | ddrD.bit2 = 0; | ||
Zeile 23: | Zeile 23: | ||
**Eingabe von einem Taster in der Bedingung in einer Alternative auswerten: | **Eingabe von einem Taster in der Bedingung in einer Alternative auswerten: | ||
- | >>>< | + | >< |
if ( pinD.bit2 == 0 ) // wenn Taster an D.2 gedrückt | if ( pinD.bit2 == 0 ) // wenn Taster an D.2 gedrückt | ||
{ | { | ||
Zeile 112: | Zeile 112: | ||
Kompilieren, | Kompilieren, | ||
- | >>> | + | > |
Bevor wir diesen Abschnitt verlassen und uns den etwas komfortableren Klassen für Taster und LEDs zuwenden, soll die LED noch bei Tastendruck blinken. Bei der Gelegenheit soll kurz angedeutet werden, dass mit den vorgestellten GPIO-Strukturen auch Bitoperationen möglich sind. Das Blinken bedeutet, dass die LED nach einer gewissen Wartezeit umgeschaltet werden muss. Die geeignete Bitoperation dafür ist das XOR. Schauen Sie sich die Schreibweise und Bedeutung des [[http:// | Bevor wir diesen Abschnitt verlassen und uns den etwas komfortableren Klassen für Taster und LEDs zuwenden, soll die LED noch bei Tastendruck blinken. Bei der Gelegenheit soll kurz angedeutet werden, dass mit den vorgestellten GPIO-Strukturen auch Bitoperationen möglich sind. Das Blinken bedeutet, dass die LED nach einer gewissen Wartezeit umgeschaltet werden muss. Die geeignete Bitoperation dafür ist das XOR. Schauen Sie sich die Schreibweise und Bedeutung des [[http:// | ||
- | {{: | + | >{{: |
Kompilieren, | Kompilieren, | ||
Zeile 122: | Zeile 122: | ||
====== Videozusammenfassung ====== | ====== Videozusammenfassung ====== | ||
- | >>><flashplayer | + | ><html><iframe |
- | >>> | ||
====== Nächstes Thema ====== | ====== Nächstes Thema ====== | ||
[[Timer|den Timer nutzen]] | [[Timer|den Timer nutzen]] |