Hallo
habe heute die untere Schaltung aufgebaut, um mich mit dem USART der
Atmel-AVRs zu vertrauen und natürlich funktionierts nicht. AVR-
Tutorials sind bereits durchgemacht, Fuses sind auch richtig gesetzt.
Einzig die Spannungswerte am MAX232 und der Fakt, dass es nicht
funktioniert, machen mich stutzig.
Verwendet hab ich einen AtMega32 mit 8MHz- Quarz.
Die Spannungen am MAX232 betragen:
Beim Senden, an T1OUT -3V. Und wenn nichts gesendet wird -7V.
Zusätzlich wird nie der TransmitComplete- Interrupt aufgerufen, obwohl
alles aktiviert ist.
Wenn ich +5V und die TX- Leitung testweise verbinde, dann kommt am PC
was rein.
Hier die Schaltung:
http://www.mikrocontroller.net/articles/Datei:AVR-RS232.png
Code kann bei Bedarf hinzugefügt werden, ist aber auch aus dem USART-
Tutorial.
Was passt da nicht?
werN92
Wenn ich R1OUT mit T1IN verbinde, kommt am Terminal trotzdem nichts
rein. Also liegts an der Verkabelung. Hab die Leiterbahnen aber gerade
nochmal geprüft, da finde ich keinen Fehler.
werN92
So, jetzt sind R1OUT und T1IN gebrückt und zusätzlich auch PIN 2 und 3
der Buchse. Jetzt funktioniert der Terminal- Test. Wenn ich die Brücke
zwischen R1OUT und T1IN löse, dann erscheinen zwar auch Zeichen im
Terminal, aber nur Sonderzeichen. Hoffe das hilft weiter.
werN92
Ein weiterer Fortschritt: Die Brücke zwischen R1OUT und T1IN gänzlich
entfernt. Nun sende ich ein großes M per Software, das auch im Terminal
empfangen wird, allerdings nur, wenn ich die PINs 2 und 3 der RS232-
Buchse überbrücke. Außerdem befinden sich zwischen den Ms immer wieder
Sonderzeichen.
Weiß irgendwer eine Lösung, wies komplett funktionieren könnte?
werN92
werN92 schrieb:> Ein weiterer Fortschritt: Die Brücke zwischen R1OUT und T1IN gänzlich> entfernt. Nun sende ich ein großes M per Software, das auch im Terminal> empfangen wird, allerdings nur, wenn ich die PINs 2 und 3 der RS232-> Buchse überbrücke. Außerdem befinden sich zwischen den Ms immer wieder> Sonderzeichen.>> Weiß irgendwer eine Lösung, wies komplett funktionieren könnte?
TX und RX vertauscht?
TXler schrieb:> TX und RX vertauscht?
Wo vertauscht, vom µC zum MAX232 oder vom MAX232 zur Buchse oder im
Kabel selbst?
µC zum MAX232 stimmt, auch MAX232 zur Buchse ist korrekt. Kabel ist ein
USB/Seriell- Umsetzer, also kann es dort auch nicht vertauscht sein.
Hab die Software mal am Evaluationsboard ausprobiert, dort funktionert
die Übertragung. Die Anschlussbelegung dieser Buchse und die meiner
Platine verglichen und durchgemessen, es ist alles gleich, nur eben,
dass meine Platine nicht funktioniert.
werN92
werN92 schrieb:> So, jetzt sind R1OUT und T1IN gebrückt und zusätzlich auch PIN 2 und 3> der Buchse.
Die Verbindung 2-3 macht jedes weitere Testen sinnlos.
2 und 3 kann man brücken, wenn man kontrollieren möchte, ob es irgendwo
einen Kabelbruch gibt.
werN92 schrieb:> TXler schrieb:>> TX und RX vertauscht?> Wo vertauscht, vom µC zum MAX232 oder vom MAX232 zur Buchse oder im> Kabel selbst?
Beides ist möglich.
Schnapp dir eine LED und einen 220Ohm Widerstand und bau dir damit ein
Testlämpchen.
Alle Brücken entfernen.
Wenn du die LED von R1IN zu GND verkabelst und auf dem PC munter vor dir
hintippst (STein auf die Tastatur legen) dann muss die LED munter
flackern.
Tut sie das nicht, dann hältst du die LED zur Kontrolle an T1OUT.
Wenn sie dort munter flackert, dann musst du entweder
* dein Kabel kreuzen
* oder du hast die falschen Pins von der Buchse zum MAX gezogen
such dir was aus und kreuze es mal aus. Aber an einem der beiden Pins am
MAX muss es flackern.
- Erst Pin 2 und Pin3 der Sub-D kurzschließen und testen, ob die
gesendeten Zeichen wieder empfangen werden.
- Dann die Brücke entfernen, T1IN und R1OUT (11 und 12) verbinden und
wieder testen
- wennn es funktioniert ein programm schreiben, das des Controller
endlos das gleiche Zeichen senden läßt
- wenn auch das klapt kann man ein Programm versuchen, das das
empfangenen Zeichen direkt wieder zurück schickt
Und dann kannst du anfangen ein eigenes Programm zu schreiben.
(Bei den ersten beiden Test den µC entfernen oder zumindestens den
kompletten Flash löschen, damit der nicht zufällig stört)
Hab jetzt endlich den Fehler gefunden. Die Leitungen waren wirklich
vertauscht. Der Fehler hat sich schon beim Erstellen des Layouts
eingeschlichen.
Danke nochmal.
werN92