Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte Überarbeitung Beide Seiten der Revision
microcontrollertechnik:9_uart_und_terminal [2022/02/14 04:48]
tfischer
microcontrollertechnik:9_uart_und_terminal [2024/03/10 23:58]
mexleadmin
Zeile 1: Zeile 1:
-====== 9UART und Terminal ======+====== 9 UART und Terminal ======
 <WRAP> <WRAP>
  
Zeile 24: Zeile 24:
 </WRAP> <WRAP column 65%> </WRAP> <WRAP column 65%>
 ==== Video ==== ==== Video ====
- + 
 +{{youtube>tFVvbUUco4?size=700x400}} 
 + 
 +<WRAP hide>
 {{youtube>r_5iVt3rcwA?size=700x400}} {{youtube>r_5iVt3rcwA?size=700x400}}
  
 {{youtube>hCCGMMyTtK4?size=700x400}} {{youtube>hCCGMMyTtK4?size=700x400}}
 +</WRAP>
  
 </WRAP> </WRAP> </WRAP> </WRAP>
Zeile 36: Zeile 40:
 <imgcaption BildNr09 | Zusammenspiel der UART-Register> <imgcaption BildNr09 | Zusammenspiel der UART-Register>
 </imgcaption> </imgcaption>
-{{drawio>UARTRegister}}+{{drawio>UARTRegister.svg}}
 </WRAP> </WRAP>
  
 --> I. Vorarbeiten # --> I. Vorarbeiten #
   - Laden Sie folgende Datei herunter:    - Laden Sie folgende Datei herunter: 
-    - {{microcontrollertechnik:9_temperatureuart_1.0.0.sim1}} (für ältere Simulide Versionen: {{microcontrollertechnik:9_temperatureuart_0.5.15.simu}}) +    - {{microcontrollertechnik:9_temperatureuart_1.0.0.sim1}}  
-    - {{microcontrollertechnik:9_uart_with_quickfix.hex}} ACHTUNG: Dieses hex-file enthält einen Workaround für einen Bug bei Simulide 1.0.0 <= R941  \\ ( für Simulide 1.0.0 >> R941 {{microcontrollertechnik:9_uart.hex}}) +    - {{microcontrollertechnik:9_uart.hex}} 
-    - {{microcontrollertechnik:lcd_lib_de.h}} \\ ACHTUNG: Das Display ist hier an einem anderen Port. Entsprechend müssen zwei Register geändert werden: +    - {{microcontrollertechnik:lcd_lib_de.h}}
-      - ''#define Datenregister DDR**C**'' +
-      - ''#define P_DATA PORT**C**''+
  
-<--+<callout type="warning" icon="true"> 
  
 +**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.
  
 +</callout>
 +
 +<--
 +
 +--> Code mit Polling #
 ==== Code mit Polling ==== ==== Code mit Polling ====
  
Zeile 56: Zeile 67:
 Variante mit Polling: {{microcontrollertechnik:9_uartpolling_temperature.c}} Variante mit Polling: {{microcontrollertechnik:9_uartpolling_temperature.c}}
  
-<sxh c; first-line: 42>+<sxh c; first-line: 1>
 /* ---------------------------------------------------------------------------- /* ----------------------------------------------------------------------------
  
Zeile 149: Zeile 160:
 // Festlegung der Quarzfrequenz // Festlegung der Quarzfrequenz
 #ifndef F_CPU // optional definieren #ifndef F_CPU // optional definieren
-#define F_CPU 8000000L //12288000UL // MiniMEXLE mit 12,288 MHz Quarz+#define F_CPU 8000000L  // Simulation mit MHz Quarz
 #endif  #endif
  
Zeile 467: Zeile 478:
  
 </sxh> </sxh>
 +<--
  
 +--> Code mit Interrupt #
 ==== Code mit Interrupt==== ==== Code mit Interrupt====
  
Zeile 648: Zeile 660:
  initAdc(); // Initialisierung des AD-Wandlers  initAdc(); // Initialisierung des AD-Wandlers
  
- initUart(); // UART initialisieren+ initUart(); // UART initialisieren
  sei(); // generell Interrupts einschalten  sei(); // generell Interrupts einschalten
  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:
  }  }
 }</sxh> }</sxh>
 +
 +<--
  
  
Zeile 897: Zeile 911:
  
 </WRAP> </WRAP>
 +
 +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?  \\ {{drawio>microcontrollertechnik:UARTSignal.svg}}
 +
 +<--
 +
 +