UART - Funktionsprinzip ??

Gast #130049
Hallo!

Es wäre sehr nett von Euch, wenn mir jemand die Kommunikation z. B.
zwischen einem PC und einem Mikrocontroller in groben Umrissen erklären
könnte.

Kann ich mir dies so vorstellen:

Ich sende z. B. mittels eines C++ Programms über die serielle
Schnittstelle ein Word (z. B. in Hex). Zuvor programmiere ich das
Mikrocontrollerprogramm so, dass hier in einer Endlosschleife auf ein
Word gewartet wird. Wird dieses empfangen, so kann ich z. B. einen
Ausgang auf High legen.

while (TRUE)
{
  if (UART.Reg == 0x10)
     Port0 = 0x01;
}

Ist dies totaler Schmarrn, oder funktioniert dies in etwa so??

Vielen Dank im voraus !!

Gruß

semapf
Gast #130050
Hallo!

Eigentlich meinte ich nicht nur die Kommunikation z. B. zwischen einem
PC und einem Mikrocontroller, sondern im allgemeinen, wie ich den
Mikrocontroller über die serielle Schnittstelle steuern kann.

Danke nochmals !!

Gruß

Marcus
Gast #130051
Ja im Prinzip ist das so. Es wird z. B. vom PC aus ein Byte an den µC
gesendet, dieser empfängt dies (vorausgesetzt er ist richtig
konfiguriert, Infos dazu stehen im Datenblatt des jeweiligen
Controllers). Ist der Empfang abgeschlossen, so wird ein Flag gesetzt,
welches du in deinem Programm zum Beispiel in einer Schleife abfragen
kannst. Ist es gesetzt, kannst du "UART.Reg" benutzen. Man kann den
µC allerdings auch so konfigurieren, daß bei abgeschlossenem Empfang
automatisch ein Interrupt ausgelöst wird, auf den du reagieren kannst.
Vorteil: du verschwendest keine Zeit durch das pollen des UART.

Also wichtig ist, daß du dich für einen µC entscheidest. Dann dessen
Datenblatt studierst und herausfindest, wie der UART konfiguriert wird.
Anschließend noch einen Pegelwandler (MAX232) und es kann losgehen. Ist
eigentlich völlig unproblematisch.

Gruß
Thorsten

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.