Forum: Mikrocontroller und Digitale Elektronik Amtega32 und USART


von Chris Lambert (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

kann mir jemand sagen, was ich hier falsch mache, irgendwie bekomme ich
kein Zeichen über die serielle Schnittstelle rein...
Verwende zum Aufzeichnen TerraTerm.

Danke im voraus
Chris Lambert

von johnny.m (Gast)


Lesenswert?

Wenn Du versuchst, in UBRRL die Baudrate direkt reinzuschreiben ist das
klar, dass nix ankommt. Im Datenblatt nachsehen, was da rein muss. 2400
passt da eh net rein!

von johnny.m (Gast)


Lesenswert?

Versuchs mal mit UBRRL = 25; Für nen 1 MHz-Quarz und 2400 Baud müsste
das passen

von crazy horse (Gast)


Lesenswert?

Ausserdem: ist counter ein float-Wert? Abgesehen davon, dass es dafür
völlig nutzlos ist, ist es gefährlich:
"while(counter!=10)" ob exakt 10 je erreicht wird?
Besser ist immer (auch für integer)
while(counter<10)

von Chris Lambert (Gast)


Lesenswert?

hallo,

okay ich hab eure Ratschläge befolgt, nur leider kann ich immernoch
nichts über RS232 auslesen, gibt es da vielleicht Probleme mit
WinXP...??? Ich weiß jetzt echt nicht mehr weiter!

von crazy horse (Gast)


Lesenswert?

da ist noch was:
UCSRC=(1<<URSEL)|(1<<USBS)|(_3_<<UCSZ0);?
Wie soll denn die Schnittstelle überhaupt arbeiten?

von Chris Lambert (Gast)


Lesenswert?

8 Daten Bits und 2 Stopbits,
ich halte mich gerade an die Atmega32 Spezifikation

von Die Waldfee (Gast)


Lesenswert?

Eine Information zum tatsächlich verwendeten Quarz bzw. der Taktfrequenz
wäre auch noch hilfreich.
Wie ist die Hardwaremäßige Anbindung an den PC? Funktioniert der
Pegelwandler? Schonmal nachgeprüft, ob Dein Terminalprogramm auch
funktioniert (richtige Schnittstelle ausgewählt)?
Hast Du ein Oszilloskop zur Verfügung?

von Chris Lambert (Gast)


Lesenswert?

Also ich hab jetzt mal mit nen Oszi nachgemessen, ich bekomme zyklisch
was über den MAX232 der Pegel der dann auf der seriellen Schnittstelle
anliegt sind ~17V, vom Atmega32->MAX232 ist es TTL Pegel 5V...

von Karl H. (kbuchegg)


Lesenswert?

* Das Kabel gecheckt?
  (gekreuzt oder nicht gekreuzt)
* Die 1Mhz. Das ist doch ein Quarz?
  (Mit dem internen Taktgenerator kannste USART vergessen,
   der ist zu ungenau)
* 17V ?
  Ich hoffe Du meinst von Spitze zu Spitze, das koennte
  ca. hinkommen. Bezogen auf Masse hast Du ca. -9V Ruhepegel.
  Wenn Du was sendest, siehst Du Spikes von ca. +9V
* Handshake beim Empfaenger ausgeschaltet?

Wenn das Kabel stimmt (RX vom Mega mit TX vom PC verbunden,
 TX vom Mega mit RX vom PC verbunden) und die Frequenz einigermassen
stimmt, solltest Du eigentlich am PC was sehen (schick mal Zeichen
in einer Endlosschleife). Wenn die Frequenz danebenliegt, dann siehst
Du natuerlich nicht das was Du sendest, aber tun sollte sich schon
was.

von crazy horse (Gast)


Lesenswert?

einfachste Möglichkeit, die RS232-Verkabelung zu testen: MC rausziehen,
Rx und Tx verbinden.
Mit dem Terminal gesendete Zeichen müssen dort wieder erscheinen, ist
local echo on doppelt (das eigene gesendete und das wieder empfangene).
Damit hast du schon mal die komplette Verbindung
(Software->ComPort->Kabel->Pegelwandler und zurück) gescheckt. Geht
das, liegts am MC.

von Chris Lambert (Gast)


Lesenswert?

Danke für die rege Anteilnahme...

war jetzt wirklich schon am verzweifeln!!! Es lag am Kabel!

Danke nochmals an alle!!!

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
Noch kein Account? Hier anmelden.