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!
Hi, Benutzt Du den internen RC Oszillator ? Der ist wohl für serielle Datenkommunikation zu ungenau. Benutzt mal nen Quarz. Gruß Niels
"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.
"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
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
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%.
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!
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
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.
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
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.