UART Problem (Atmega 32)

Gast #167964
Hallo, ich möchte zum testen meines Atmels einfach nur etwas am PC
ausgeben. Anstatt der gewünschten ausgabe wir aber immer nur ein Ç
ausgegeben. Kann jemand sagen was ich falsch mache? Die Einstellungen
am PC (Baudrate, Frameformat hab ich schon mehrmals überprüft).

Danke!
Angehängte Dateien:
Gast
"Benutzt Du den internen RC Oszillator ?

Der ist wohl für serielle Datenkommunikation zu ungenau. Benutzt mal
nen Quarz."

Nein, das ist so nicht richtig. Die serielle Schnittstelle ist ziemlich
tolerant, was Abweichungen angeht.
Check lieber mal die Verkabelung und die Einstellungen in der
Software.

Bei mir funktioniert das immer mit dem internen RC.
Gast
"Bei mir funktioniert das immer mit dem internen RC."


Schön für Dich.

Aber eben kein Beweis, daß es bei jedem anderen auf der Welt auch geht
!


Peter
Gast
also der Internet RC längt völlig
ich hätte auch drauf getippt dass der Grundtakt nicht stimmt von deinem
µController.
Oder du hast die Teiler falsch programmiert....

Haste ein Oszi greifbar ? Dann könntest du es nachschauen
Gast
Naja, sooo tolerant ist die Schnittstelle auch nicht, mehr als 1-2%
sollte da nichts abweichen. Wenn du ein Oszilloskop hast, messe einfach
mal die Bitdauer.

Gruß
Thorsten

P.S.: Bei mir ging bisher der intern Oszillator (8 MHz) auch immer bis
38400 Baud problemlos, die Bitdauerabweichung war aber auch immer <2%.
Gast
Oszi hab ich leide keins.
 Aber Wie muss ich die Fuse Bits einstellen damit der Quarz richtig
genutzt wird? möchte einen 8 Mhz Quarz benutzen aber aus dem Datenblatt
werde ich nicht so richtig schlau?!

Danke!
Gast
Hi,

Also ich habe mit dem internen RC Ozillator auch Probleme gehabt. Und
ich meine sogar ich hatte auch diese komischen Cs.

Umschalten auf externen Osc hat geholfen.

Mag sein das damals die Baudrate/eingestellte Clock nicht gut gewählt
war. Aber ich habe auch schon gelesen, dass extern die bessere Wahl
ist.
(Vgl. Temperatur-/Langzeitstabilität)

Gruß Niels
Gast
UART-Kommunikation mit RC ist Murks, auch wenn es da und dort
funktioniert. Solange das Teilchen auf dem temperierten Schreibtisch
bei gleichbleibenden 22° liegt, mag das gut gehen - in der harten
Wirklichkeit nicht. Verstehe nicht, warum man nicht den
20Cent-Resonator spendieren soll.
Gast
Hallo!
Möchte ja gern den externen benutzen, weiss aber leider nicht wie ich
das anstellen soll. Ich glaub das geht über die Fuse Bits ( ja ich bin
Anfänger ) oder? Hab das schon versucht und jetzt erkennt Ponyprog den
Atmega gar nicht mehr. Kann mir jemand sagen wie ich die F-Bits richtig
setzen muss damit das beim zweiten Atmega nicht auch passiert?
Danke
Gast
Nicht umsonst gibt es ja das OSCCAL Register, mit dem man den internen
Oscillator kalibrieren kann. Auf der Amtel Seite gibt es dazu eine
Application Note dazu.

meine testroutine schreibe ich mit Winavr

#define test  <hier den Wert einsetzen>
DDRA = 0xff;
OSCCAL = test;

while(1)
{
PORTA ~= PORTA;
}
dafür brauch er genau 10 Takte also Frequenz an den Ports messen
multiplizieren mit 10 und dann hat man die Frequenz des internen
Oscillators. Bei zu starken abweichungen die Variable,Konstante,
#define Makro oder was auch immer verändern, neu programmieren
Frequenz messen vergleichen, und nach spätestens 10 durchläufen
hat man die gewünschte Frequenz. Damit habe ich bisher jede RS232 zum
laufen gebracht. Den Quartz kann man sich schenken, wenn man nicht
gerade den Atmega mit über 8Mhz betreiben will.

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.