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
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!
Versuchs mal mit UBRRL = 25; Für nen 1 MHz-Quarz und 2400 Baud müsste das passen
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)
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!
da ist noch was: UCSRC=(1<<URSEL)|(1<<USBS)|(_3_<<UCSZ0);? Wie soll denn die Schnittstelle überhaupt arbeiten?
8 Daten Bits und 2 Stopbits, ich halte mich gerade an die Atmega32 Spezifikation
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?
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...
* 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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.