www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USART / bit9


Autor: florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Habe eine Frage zum Mega16. Beim Anpassen des Programms von UART -->
USART muessen nun ein/einige Register gelesen werden bevor man UDR
einliest. Beim 1. Byte (Adresse - 9bit) geht das ja auch noch, aber die
restlichen Byte (Daten - 8bit) unterscheiden sich nicht vom ersten
Byte, sprich es wird immer nur das Adressebyte angezeigt. Meine
Initialisierung sieht folgend aus:

uart_init:
  sbi UCSRB,RXEN
  ldi temp1, quartz/(baud*16)-1
  out UBRR, temp1
  sbi UCR, RXCIE          ;enable receive
  sbi UCSRB,UCSZ2        ;mit 9. bit empfangen
  ldi temp1, 0b10000110       ;lt. DB auch einzustellen
  out UCSRC, temp1
  sei
  ret

das ist die dazugehoerige ISR:

rs485_recv:
  in temp2, SREG
  push temp2
  in temp1, UCSRA          ;vor UDR 9. bit einlesen lt. Datenbl.
  in temp2, UDR
  pop temp2
  out SREG, temp2
reti

Das Ganze wird in einer Schleife, momentan endlos, ausgewertet.

endlos:
  sbis UCSRA, RXC
  rcall speichern
  rjmp endlos1

Muss ich in den Statusregistern was zuruecksetzen, oder was habe ich
uebersehen/falsch uebersetzt? Stehe mit englisch auf`n Kriegsfuss.
Muss ich die Fehlerbehandlung machen?

mfg.
flo

Autor: florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja, UCSRB lese ich auch ein (ist ja auch das 9. bit drin).

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.