Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Die USART beim ATmega8 RS232 Register und ihre Bits.

Ähnliche Präsentationen


Präsentation zum Thema: "Die USART beim ATmega8 RS232 Register und ihre Bits."—  Präsentation transkript:

1 Die USART beim ATmega8 RS232 Register und ihre Bits

2 Inhalt UCSRA UCSRB UCSRC UDR UBRRL/UBRRH BEENDEN

3 UDR - USART I/O Data Register Buffer zum Senden und Empfangen

4 USART I/O Data Register RXB und TXB teilen sich eine Adresse RXB – Receive Data Buffer Register Enthält empfangene Daten Receive Buffer enthält einen FIFO (first in - first out) mit 2 Pegeln Receive Buffer ändert sich bei jedem Zugriff Also keine Read-Modify-Write Befehle (wie SBI und CBI) und Bittest- Befehle (wie SBIC und SBIS) verwenden – sonst ändert sich der FIFO Inhalt

5 USART I/O Data Register TXB – Transmit Data Buffer Register Hier werden Daten zum Senden reingeschrieben UDRE Flag im UCSRA muss gesetzt sein, sonst werden die Daten vom Transmitter ignoriert Werden die Daten in den Transmit Buffer geschrieben, wenn der Transmitter freigeschaltet ist, werden die Daten in das Transmit Shift Register geladen, sobald dieses frei ist, dann werden die Daten seriell am PIN TxD ausgegeben Inhalt

6 UBRRL / UBRRH - USART Baud Rate Registers Einstellung der Baudrate

7 USART Baud Rate Registers Bit 15 – URSEL: USART Register Select Bestimmt, ob auf UCSRC oder UBRRH zugegriffen wird Muss 0 sein, wenn in das UBRRH geschrieben wird BIT 14:12 – Reserved Bits Sind für die Zukunft reserviert, um die Kompatibilität mit zukünftigen Versionen zu gewährleisten Müssen 0 gesetzt werden Inhalt

8 USART Baud Rate Registers BIT 11:0 – UBRR: USART Baud Rate Register 12-Bit-Register: beinhaltet USART Baud Rate UBRRH enthält die höherwertigeren Bits, UBRRL die minderwertigeren Bits Wenn sich die Baud Rate ändert, wird die Datenübertragung sofort gestoppt Wird UBRRL geändert, hat dies sofortige Auswirkungen auf die Baud Rate Inhalt

9 UCSRA – USART Control and Status Register A Steuerung der Übertragung

10 USART Control and Status Register A RXC – USART Receive Complete Gesetzt, wenn sich ungelesene Daten im Receive Buffer befinden Wenn der Receiver nicht aktiviert ist, ist der Receive Buffer leer und das RXC-Flag immer 0 Kann auch verwendet werden, um ein Receive Complete Interrupt zu erzeugen (siehe RXCIE im UCSRB) Inhalt

11 USART Control and Status Register A TXC – USART Transmit Complete Gesetzt, wenn der komplette Rahmen im Transmit Shift Register rausgeschoben wurde und sich momentan keine neuen Daten im Transmit Buffer (UDR) befinden Das Flag wird automatisch gelöscht, wenn ein Transmit Complete Interrupt ausgeführt wurde, allerdings kann dieses Ereignis auch vorgetäuscht werden, indem man an die dementsprechende Stelle eine 1 setzt Kann auch verwendet werden, um ein Transmit Complete Interrupt zu erzeugen (siehe TXCIE im UCSRB) Inhalt

12 USART Control and Status Register A UDRE – USART Data Register Empty Zeigt an, ob der Transmit Buffer (UDR) bereit ist, neue Daten empfangen 1 = Buffer leer, Transmit Buffer bereit Nach einem Reset gesetzt, um anzuzeigen, das Transmitter bereit UDRE-Flag kann Data Register Empty Interrupt erzeugen (siehe UDRIE im UCSRB) Inhalt

13 USART Control and Status Register A FE – Frame Error 1 = Frame Error beim Empfangen aufgetreten Erstes Stop Bit vom nächstem Datensatz im Receive Buffer ist 0 Bit bleibt gesetzt bis der Receive Buffer (UDR) ausgelesen wird 0 = Stop Bit ist 1 -> alles in Ordnung Auf 0 setzten, wenn UCSRA beschrieben werden soll PE – Parity Error 1= Parity Error aufgetreten (geht nur wenn UPM1=1 (siehe UCSRC)) Rest ähnlich Frame Error Inhalt

14 USART Control and Status Register A DOR – Data OverRun 1 = Datenüberlauf entdeckt Tritt auf, wenn der Receive Buffer voll (2 Datensätze) ist, sich ein neuer Datensatz im Receive Shift Register befindet und ein neues Startbit entdeckt wurde Bit bleibt gesetzt bis der Receive Buffer (UDR) ausgelesen wird Beim ins UCSRA schreiben immer auf 0 setzten Inhalt

15 USART Control and Status Register A U2X – Double the USART transmission speed Hat nur beim asynchronen Modus eine Auswirkung, sollte beim synchronen Modus auf 0 gesetzt werden Wenn gesetzt wird der Teiler der Baud Rate von 16 auf 8 gesetzt, was die Geschwindigkeit verdoppelt MPCM – Multi-processor Communication Mode Aktiviert Multi-processor Communication Mode 1 = es werden alle eintreffenden Frames ignoriert, die keine Adressinformationen enthalten, der Transmitter wird nicht beeinflusst Multi-processor Communication Mode wird im Datenblatt auf S151 genauer beschrieben Inhalt

16 UCSRB – USART Control and Status Register B Interrupts & Steuerungsbits

17 USART Control and Status Register B RXCIE – RX Complete Interrupt Enable Aktiviert Interrupt vom RXC Flag (UCSRA) TXCIE – TX Complete Interrupt Enable Aktiviert Interrupt vom TXC Flag (UCSRA) UDRIE – USART Data Register Empty Interrupt Enable Aktiviert Interrupt vom UDRE Flag (UCSRA) Inhalt

18 USART Control and Status Register B RXEN – Receiver Enable Aktiviert Receiver (überschreibt RxD Pin) TXEN – Transmitter Enable Aktiviert Transmitter (überschreibt TxD Pin) UCSZ2 – Character Size Legt zusammen mit UCSZ1:0 (UCSRC) die Größe eines einzelnen Datensatzes fest Inhalt

19 USART Control and Status Register B RXB8 – Receive Data Bit 8 Für serielle Frames Neuntes Bit der empfangenen Daten, wenn Frame so groß Muss eingelesen werden, bevor die Low Bits im UDR eingelesen werden TXB8 - Transmit Data Bit 8 Für serielle Frames Neuntes Bit der zu sendenen Daten, wenn Frame so groß Muss geschrieben werden, bevor die Low Bits im UDR geschrieben werden Inhalt

20 UCSRC – USART Control and Status Register C

21 USART Control and Status Register C URSEL – Register Select Bestimmt, ob auf UCSRC oder UBRRH zugegriffen wird Muss 1 sein, wenn in das UCSRC geschrieben wird UMSEL – USART Mode Select Bestimmt ob Synchron oder asynchron übertragen wird Inhalt

22 USART Control and Status Register C UPM1:UPM0 – Parity Mode Inhalt

23 USART Control and Status Register C USBS – Stop Bit Select Amzahl der Stopbits, die der Transmitter einfügt Inhalt

24 USART Control and Status Register C USZ1:USZ0 – Character Size USZ2 befindet sich im UCSRB Vom Receiver und Transmitter verwendete Datensatzgröße Inhalt

25 USART Control and Status Register C UCPOL – Clock Polarity Nur für den synchronen Modus, beim asynchronen auf 0 setzen Bestimmt das Verhalten von folgenden Komponenten zueinander: der Data Output Änderung der Input Abtastrate Des synchronen Takts (XCK) Inhalt

26 Auf die Richtigkeit der Inhalte geben wir keine Gewähr....sie sind garantiert falsch!


Herunterladen ppt "Die USART beim ATmega8 RS232 Register und ihre Bits."

Ähnliche Präsentationen


Google-Anzeigen