www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit UART bei Atmega16


Autor: Sven Schmidt-Rohr (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

kurz gefaßt: ich kriege mit meinem Atmega16 keine serielle Verbindung
von/zum PC hin. Um das Problem einzugrenzen habe ich folgendes
sichergestellt:
µC funktioniert, fuses sind auf den externen 8 Mhz Quarz gesetzt, das
serielle Kabel funktioniert einwandfrei, der PC kann bei der
eingestellten Konfiguration/Baudrate problemlos Daten auf der seriellen
Schnittstelle empfangen.

Da ich auch den Pegelwandler verdächtigt hatte, habe ich noch einen
zweiten auf einem Steckbrett gebaut und das gleich genutzt, um zu
schauen, was für Signale überhaupt durchkommen. Fazit: vom PC kommen
Signale auch bis jenseits des Pegelwandlers durch (wenn man was
schickt, leuchtet die test-LED kurz, die ich bei normalem Probieren
aber natürlich wieder entferne). Ich hab außerdem ein kleines Programm
zusammengeschnipselt (aus verschiedenem Code, den ich gefunden habe,
den dann noch bisschen erweitert), das zwei Zyklen hat: senden/nicht
senden und im Sendezyklus sendet es alle halbe Sekunde was auf TX. Das
Signal kommt auch in jenem Fall bis jenseits des Pegelwandlers (jetzt
von der anderen Seite her), genau pünktlich alle halbe Sekunde. Das
outbyte an Port B nutze ich nur, um für mich mit 2 LEDs den
Zykluswechsel zu visualisieren.

Vielleicht wird die Baudrate ja falsch berechnet irgendwie?
Allerdings dachte ich, dann würde IRGENDWAS, also garbage am Terminal
ankommen, aber es kommt schlichtweg gar nichts an, obwohl das Signal
ganz klar über die TX Leitung an der seriellen Schnittstelle des PC
ankommt.

Weil die Signale ja scheinbar fließen, nehme ich an, dass ein anderer
Fehler in meinem Programm/meiner Art Daten auf die serielle
Schnittstelle zu schreiben vorliegt. Das Signal liegt in der falschen
Form vor. Ich besitze allerdings kein Oszilloskop.

Kann mir jemand, der mehr Ahnung hat, als ich, einen Tipp geben, wie
ich weiter vorgehen kann, um den Fehler weiter einzugrenzen oder mich
direkt auf (m)eine Anfängerstümperei hinweisen?
Ich bin mit meinem Latein nämlich wirklich am Ende.

Vielen Dank und Gruß
Sven

Autor: Sven Schmidt-Rohr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, Problem hat sich erledigt:

Der Pegelwandler auf dem gekauften Board funktioniert scheinbar
wirklich nicht UND bei meinem eigenen war das TX an der SUB-9 Buchse
nicht richtig angeschlossen (RX aber sehr wohl). Etwas vertrackte
Situation, deswegen habe ich den Fehler nicht gleich gefunden, jetzt
funktioniert aber alles wunderbar, auch full-duplex Datenaustausch usw.

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.