mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega16 - UART


Autor: Klaus Eckenfellner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo leute, habe folgendes problem. ich verwende ein stk500 mit einem
atmega16. hab mit den zugehörigen tools von internen rc oszi auf
externen hochfrequenz resonator umgeschaltet. wollte jetzt wie im
tutorial test über die rs232 senden. hab natürlich auch die dafür
nötigen adaptionen am testboard vorgenommen, doch ich erhalte nur
schrott.

einstellungen habe ich wie im tutorial getroffen und sogar mal probiert
anstatt 2 stopbits mal 1 stopbit. doch auch wieder nur schrott.

hab auch schon rx mit tx vertauscht, da kommt dann gar nichts.

betreffend der baudrate habe ich die oszillator frequenz mit dem avr
studio nachgemessen und eingetragen.

hat sonst jemand eine idee an was es liegen kann?

danke im voraus

Klaus Eckenfellner

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schrottzeichen deuten auf korrekte Hardware und fehlerhafte Software,
insbesonders Baudrate. Programm? Quarzfrequenz?

Autor: Klaus Eckenfellner (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
programm ist das selbe wie im tutorial.(natürlich mit richtigen includes
für meinen controller.) ich hab jetzt den takt mal nachgemessen und der
ist 3.69MHz. und ist auch sehr stabil.

sonst noch jemand eine idee????

hier mal das programm

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
out SPL, temp
//SPH fehlt!!
sbi UCSRB,TXEN                   ;TX aktivieren
//üblicherweise stellt man erst alles ein und gibt daan erst
Sender/Empfänger frei, sollte aber für die Funktion unerheblich sein
ldi temp,1000000/(9600*16)-1   ;Baudrate 9600 einstellen
//hier musst du mit deiner aktuellen Taktfrequenz rechnen
out UBRR,temp
//hat der Mega16 nicht UBRRH und UBRRL? Dachte ich jedenfalls, aber da
hätte der Assembler ja meckern müssen.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
im tutorial ist auch ein programm für den atmega8, du hast das für den
4433 erwischt. das für den mega8 entspricht mehr dem was du brauchst
weil sph und spl verwendet werden und auch ubrrh/l. das anpassen der
quarzfrequenz trotzdem nicht vergessen

wenn das alles nicht hilft klemm mal einen 100nf kondensator zwischen
rx und tx, hat bei mir wunder gewirkt

Autor: Klaus Eckenfellner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
welchen sinn macht ein 100nf kondensator?????

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hatte bei mir wohl ein zu langes stück ungeschrimte leitung. die
synchronisation mit mit dem pc hat dann wohl nicht mehr geklappt und es
ist dauerhaft nur zeichensalat angekommen. dann hab ich mal probiert tx
und rx mit einem kondensator zu verbinden und es hat sofort geklappt.
frag mich nicht warum aber das war das einziges was was gebracht hat,
sogar bei 300baud hat es nur fehler gegeben. vielleicht kann mir ja mal
einer erklären warum der fehler dann weg war...

Autor: Klaus Eckenfellner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, werd jetzt mal das neue programm verwenden.

Autor: Klaus Eckenfellner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fehler von mir:
1) der hauptfehler war, dass ich das falsche programm erwischt habe
2) habe bei der clockfrequenz 4MHz stehen lassen, obwohl es, laut einer
messung 3.69MHz sind. --> clock in programm umändern.

der 100nf kondensator war nicht nötig.

danke an alle die mir halfen.

Autor: Michael (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Habe ein Problem, dass mein Controller (ATMEGA16) keinen Mux macht,
wenn ich ein Zeichen per Rs232 an ihn sende. Den Code hab ich als
Anahng beigefügt. Habe den MAX232 durchgemessen, es liegt die
Versorgungsspannungen lt. Datenblatt an. Die Schnittstelle am PC und
das Kabel sind auch in Ordnung, weil ich mit meinem 8051 Kommunizieren
kann. Hat jemand ne Idee?? Ist mein Quellcode fehlerhaft???

Danke im Voraus!

Michael

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.