Das erste, was du bei einer seriellen Schnittstelle IMMER machen
solltest, ist die Richtung umzudrehen.
Anstatt den µC empfangen zu lassen, lässt du ihn erst mal senden!
Einfach zb in einer Endlosschleife ein 'X' senden lassen. Ev. mit einer
kleinen Pause zwischen den Zeichen.
Am anderen Ende des Kabels sitzt dann ein PC mit einem Terminalprogramm,
welches dir anzeigt was es vom µC erhalten hat, was immer das auch ist.
Warum ist das das erste?
Weil du am µC normalerweise keine vernünftige Anzeigemöglichkeit hast,
an der du verfolgen kannst, ob überhaupt etwas ankommt, bzw. wenn etwas
ankommt, ob das das richtige ist. So gesehen ist die Serielle
Schnittstelle im PC sowie das Terminalprogramm und dessen Anzeige für
dich eine 'getestete Komponente', von der erst mal angenommen werden
kann, dass sie funktioniert. Wenn daher die Übertragung nicht
funktioniert, dann muss das Problem entweder zb am Kabel oder im µC
liegen.
Beim Kabel gibt es die Möglichkeit, das es falsch gekreuzt ist. Wenn gar
nichts auf dem PC rauskommt, dann ist das eine nicht unwahrscheinliche
Möglichkeit.
Wenn was rauskommt, allerdings die Zeichen falsch sind, dann stimmt die
Baudrate im µC nicht. Etwas, das wiederrum in mehr als 98% der Fälle auf
eine fehlerhafte Taktrate im µC zurückzuführen ist. Allerdings ist
damit nachgewiesen, das das Kabel schon mal richtig rum gekreuzt ist
Klappt dann die Übertragung µC -> PC, dann klappt auch die Übertragung
PC -> µC (die sich leider in den meisten Fällen nicht so einfach
debuggen lässt) auf Anhieb. Wenn dann immer noch Probleme im µC sind,
dann liegen die im Programm, welches die eingetrudelten Zeichen
weiterverarbeiten bzw. weiterverteilen. Daher ist es wichtig, dass du
erst mal feststellst, ob die USART grundsätzlich funktioniert. Und das
geht am einfachsten, wenn der µC sendet und der PC empfängt. Immer so
wenig Unbekannte wie möglich und ungetestete Systeme die Fehler
enthalten können im System haben!