mikrocontroller.net

Forum: Compiler & IDEs ATmega128 USART Probleme


Autor: Udo Schaumburger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi.
Ich habe einene Atmega128 µC mit STK500 und 501.
Ich versuche ganz normal auf USART zu schreiben, bekomme auch etwas
über die RS232 Schnittstelle herein, jedoch scheint der Microcontroller
das Zeichen in einer Endlosschleife auszugeben.
Zuerst bemerkte ich den Fehler gar nicht da ich die Zeichen sowieso in
einer Endlosschleife ausgegeben habe, bis ich dann bemerkte das wenn
ich mehrere verschiedene Zeichen nacheinander ausgeben will immer nur
dasselbe bekomme.

Ich weiß wirklich nicht weshalb, der Code entspricht dem Tutorial auf
dieser Seite bzw. im Datenblatt des AVR nahezu 1:1.
Ich hatte Anfangs Probleme mit der Baud-Rate, die sind aber schon
gelöst seit ich einen Externen Clock verwende.

Autor: Dirk Bxxxxx (dirk-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Baue mal in deine Endlosschleife einen kleinen wait befehl ein. Dein
Speicher am PC duerfte sonst voll laufen.

Autor: Udo Schaumburger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe jetzt mal die delayms routine von dieser seite eingebaut (mein
compiler kennt den wait() befehl anscheinend nicht)
Ich bekomme trotzdem immer noch dasselbe Zeichen immer wieder...nur das
die Abstände zwischen den einzelnen länger geworden sind.
Ich hab dann auch versucht in der Subroutine zweimal aufs UDR zu
schreiben. Nix. Macht immer noch nur das erste zeichen.

(In diesem Fall also: nur immer dddddddddddddddd  etc...)

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du das Fuse-Bit für den AtMega103 Compatibility-Mode deaktiviert?
Dieses Bit ist per Default programmiert, der AtMega128 wird nämlich
immer im AtMega103-Mode ausgeliefert.

MfG  Peter

Autor: Udo Schaumburger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank, es war wirklich diese Fuse...
And dem Problem sitze ich schon ziemlich lange.
Ich war mir zwar ziemlich sicher das es nicht am Code liegen konnte
aber  an was es sonst liegen könnte kam mir einfach nicht in den Sinn.

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.