Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
microcontrollertechnik:9_uart_und_terminal [2022/02/14 04:49] tfischer |
microcontrollertechnik:9_uart_und_terminal [2024/03/11 00:04] (aktuell) mexleadmin |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== 9. UART und Terminal ====== | + | ====== 9 UART und Terminal ====== |
< | < | ||
Zeile 24: | Zeile 24: | ||
</ | </ | ||
==== Video ==== | ==== Video ==== | ||
- | + | ||
+ | {{youtube> | ||
+ | |||
+ | <WRAP hide> | ||
{{youtube> | {{youtube> | ||
{{youtube> | {{youtube> | ||
+ | </ | ||
</ | </ | ||
Zeile 36: | Zeile 40: | ||
< | < | ||
</ | </ | ||
- | {{drawio> | + | {{drawio> |
</ | </ | ||
--> I. Vorarbeiten # | --> I. Vorarbeiten # | ||
- Laden Sie folgende Datei herunter: | - Laden Sie folgende Datei herunter: | ||
- | - {{microcontrollertechnik: | + | - {{microcontrollertechnik: |
- | - {{microcontrollertechnik: | + | - {{microcontrollertechnik: |
- | - {{microcontrollertechnik: | + | - {{microcontrollertechnik: |
- | - ''# | + | |
- | - ''# | + | |
- | <-- | + | <callout type=" |
+ | **Beachten Sie folgendes** | ||
+ | * Es wird nun ein ATmega328 genutzt, d.h. das Programm ist nicht mehr kompatibel mit dem MiniMEXLE! | ||
+ | * Überprüfen Sie die Pins und Ports des Displays. | ||
+ | * Überprüfen Sie die Taktfrequenz. | ||
+ | </ | ||
+ | |||
+ | <-- | ||
+ | |||
+ | --> Code mit Polling # | ||
==== Code mit Polling ==== | ==== Code mit Polling ==== | ||
Zeile 56: | Zeile 67: | ||
Variante mit Polling: {{microcontrollertechnik: | Variante mit Polling: {{microcontrollertechnik: | ||
- | <sxh c; first-line: | + | <sxh c; first-line: |
/* ---------------------------------------------------------------------------- | /* ---------------------------------------------------------------------------- | ||
Zeile 149: | Zeile 160: | ||
// Festlegung der Quarzfrequenz | // Festlegung der Quarzfrequenz | ||
#ifndef F_CPU // | #ifndef F_CPU // | ||
- | #define F_CPU 8000000L //12288000UL // | + | #define F_CPU 8000000L |
# | # | ||
Zeile 467: | Zeile 478: | ||
</ | </ | ||
+ | <-- | ||
+ | --> Code mit Interrupt # | ||
==== Code mit Interrupt==== | ==== Code mit Interrupt==== | ||
Zeile 648: | Zeile 660: | ||
initAdc(); | initAdc(); | ||
- | initUart(); | + | initUart(); |
sei(); | sei(); | ||
UDR0 = 0; // Work around für Probleme bei Simulide <= R941 : ohne diese Zeile is kein Senden möglich | UDR0 = 0; // Work around für Probleme bei Simulide <= R941 : ohne diese Zeile is kein Senden möglich | ||
Zeile 891: | Zeile 903: | ||
} | } | ||
}</ | }</ | ||
+ | |||
+ | <-- | ||
Zeile 897: | Zeile 911: | ||
</ | </ | ||
+ | |||
+ | Bitte arbeiten Sie folgende Aufgaben durch: | ||
+ | |||
+ | --> Aufgabe# | ||
+ | |||
+ | Versuchen Sie die folgenden Zeitverlauf des UART Signals zu entschlüsseln - es kam vom vorliegenden Programm. \\ Welche neun Zeichen wurden gesendet? | ||
+ | |||
+ | <-- | ||
+ | |||
+ |