PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RS-232-Schnittstelle funktioniert nicht ganz richtig! Warum?



Walich
06.05.2007, 17:39
Hallo zusammen

Ich versuche schon seit langem Daten über RS-232-Schnittstelle zu übertragen, aber es geht einfach nicht.

- In den Optionen habe ich alles richtig eingestellt (wie es in Wiki gezeigt wird).
- Aus dem M32 kommen Daten heraus, aus dem Max232N ebenfalls.

Was mir an dem Pegel aufgefallen ist, ist Folgendes:
Am T1in-Pin des Max232 geht die Spannung von 5V auf 0V herunter, was auch normal ist.
Aber am T1out-Pin steigt sie von -11 auf nur +2V, was anormal ist. Sie sollte eigentlich 3 bis 12V sein.

Weiß jemand was da nicht stimmt?

Hier mein Programm:
'========================Dimmende_LED============= ======================

$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600

Config Pinc.0 = Output 'Hier ist die Anode der LED angeschlossen
Config Pinc.3 = Input 'Dieser Pin wird mit einem Taster auf Masse gezogen
Portc.3 = 1 'Interner Pullup-Widerstand an

Dim I As Byte , E As Byte , N As Word

Do
For I = 0 To 20
N = 0
Print "I=" ; I
Start:
Portc.0 = 1 'LED an
Waitms I
Portc.0 = 0 'LED aus
E = 20 - I
Waitms E
N = N + 1 'Schleife
If Pinc.3 = 0 And N >= 10 Then
Next I
Else
Goto Start
End If
Loop
'D: Dimmzeit ist die Zeit in der die LED vollständig hoch gedimmt wird.
'tn: Bestimmter Zeitraum.
'N = 10, Nmax = 2^16, Imax = 20
'D = N * Imax^2 [ms]; mit der Voraussetzung, dass der Taster innerhalb von
't2 = Nmax * Imax =21,8453 min, aber nicht die ersten t1 = N * Imax = 0,2 s gedrückt wird.
'Ansonsten gilt diese Formel Dmax = D + t1.

Für eure Hilfe bin ich sehr Dankbar.

Stone
06.05.2007, 18:49
Zeigt er dir den im Terminal Programm an ?
Wenn er nur mist anzeigt.
Baudrate Terminal = Baudrate AVR
Ist die Quarzfrequenz wirklich die Eingestellte (Fuse richtig)?
Richtiger Com Port ?

MfG Matthias

Walich
06.05.2007, 19:45
- Es wird nichts im Terminal angezeigt.
- Baudrate habe ich mehrmals kontrolliert.
- Unter Baudrate steht 16000000 Hz, wenn ich dich richtig verstehe. FusebitA987: 1111 Ceramic resonator, BOD enable.
- Das mit dem Com Port verstehe ich nicht, ich habe es einfach auf Com1 eingestellt und am PC in die 9-Polige Buchse reingesteckt.
Die Belegung habe ich auch aus Wiki übernommen.

blizzard
06.05.2007, 19:57
Hatte auch gerade Probleme mit der RS232. Bei mir lags an den Einstellungen im Gerätemanager (Baud falsch und Flusssteuerung war ein).

mfg blizzard

Jon
06.05.2007, 20:21
- Unter Baudrate steht 16000000 Hz, wenn ich dich richtig verstehe.
Das kann nicht stimmen. Das ist die Quarzfrequenz.


FusebitA987: 1111 Ceramic resonator, BOD enable.
Ist OK.


- Das mit dem Com Port verstehe ich nicht, ich habe es einfach auf Com1 eingestellt und am PC in die 9-Polige Buchse reingesteckt.
Die Belegung habe ich auch aus Wiki übernommen.
Die COM Ports werden durchgezählt. Wenn du nur einen hast, der nicht über einen USB to RS232 Adapter angeschlossen ist, hast du wahrscheinlich COM1.

jon

Walich
06.05.2007, 20:51
Danke erstmal für all die Hilfe.

Ich weiß ehrlich gesagt nicht, was an der Frequenz nicht stimmen soll?
Die habe ich überall gleich eingestellt (Am Bauteil steht 16.000, was 16 MHz bedeutet) :
- Unter Option\Compiler\Communication steht: Baudrate 0 = 9600
Frequency = 16000000 Hz
Error = 0,16 %


Ich habe ja geschrieben, dass die Spannung nur bis zu 2V hochkommt. Habt ihr bei euch schon diese Spannung gemessen, wenn ja, wie groß ist sie denn? Alles Andere scheint ja richtig zu sein!

Und noch eine kleine Frage: Was ist Flussteuerung, Bascom ist leider in Englisch.

Danke nochmal für die Unterstützung!

AVRfan
07.05.2007, 11:36
Ich habe ja geschrieben, dass die Spannung nur bis zu 2V hochkommt. Habt ihr bei euch schon diese Spannung gemessen, wenn ja, wie groß ist sie denn? Alles Andere scheint ja richtig zu sein!Die spannung sollte mindestens +5V sein, normalerweise +10V. Ich denke das ist einen hardware problem, wie sind denn die 4 kondensatore an der MAX232 angeschlossen?

Martin.

Walich
07.05.2007, 19:16
Also die vier Elkos (4,7µF;50V) habe ich wie in Wiki-Schaltplänen mit dem Max232 verbunden (mehrmals kontrolliert). Was in den Bestückungslisten auffällig ist, dass dort "Max232CPE" steht, ich habe mir einen Max232N bestellt! Die letzten Buchstaben deuten auf das Gehäuse hin, die beiden ICs sehen wie DIP-Gehäuse aus!? Oder steckt da vielleicht noch mehr dahinter?

Außerdem überlege ich mir, ob man die 2V durch 2 Mignon-Akkus auf 4,4V erhöhen kann? Nur um festzustellen, dass es an der Spannung liegt!

AVRfan
07.05.2007, 19:33
Die MAX232N (Texas Instruments? ) und MAX232CPE (Maxim) sind gleich, soviel ich weiss beide DIP-Gehäuse. Mess bitte mal die spannung an pin 2 der Max, die soll +10V sein. Wenn nicht: mess auch mal ohne verbindung zur PC.

Martin.

Walich
07.05.2007, 20:49
Pin1 (C1+) = Rechtecksignal => beide Teilzeiten gleich lang (jewals 10 µs); High = 9,5 V, Low = 4,5 V
Pin2 (Vs+) = 9 V
Pin3 (C1-) = wie bei Pin1, nur High = 5 V, Low = 0 V
Pin4 (C2+) = wie bei Pin1, nur High = 9,5 V, Low = 0 V
Pin5 (C2-) = weiß nicht was jetzt High- und Low-Pegel ist, aber das Rechtecksignal von Pin4 sinkt um ca. 10 V.
Pin6 (Vs-) = -10,5 V

Mfg

Walich
07.05.2007, 20:58
Ich habe gleich danach das RS232-Kabel aus meinem PC rausgezogen und am Pin14 gemessen. Die Spannung steigt von -9 V auf 8 V an.
Nachdem reinstecken ist sie wieder 2V.

Jetzt verstehe ich garnichts mehr.

Ich hoffe, ihr könnt mir helfen!

AVRfan
07.05.2007, 21:08
Also die Pin2 und Pin6 spannungen sind normal. Wurden die messungen gemacht während der T1out-pin auf 2V war?

Vielleicht ist der MAX ausgang verbunden mit einen ausgang der PC?

Martin.

Walich
07.05.2007, 21:36
Hi Martin

Ja, ich habe den Taster überbrückt, Kabel angeschlossen und die 2 V am T1out-Pin gemessen.

Kannst du die letzte Frage Bitte näher erläutern.

Walich
07.05.2007, 21:43
Ich habe T1out an die Kontaktnummer 3 am D-SUB-Buchse 9 pol. verbunden. Ist der vielleicht verkehrt angeschlossen?

AVRfan
07.05.2007, 21:45
Kannst du die letzte Frage Bitte näher erläutern.Der ausgang von der MAX232 (T1out-pin) sollte zur eingangspin der PC gehen, also MAX232 pin 14 nach pin 2 der DB9 buchse der im PC gesteckt wird. Wenn der ausgang der MAX232 zur ausgang der PC (pin 3) geht: kurzschluss.

Martin.

UlrichC
07.05.2007, 22:01
Ich erklär mir das so:
T1out = Transmit = TX -> Muss an Kontaktnummer 2 (=RX) in den PC.
Würd ich mal so probieren. Kapput gehen tut nix.. solange GND schön auf 1 bleibt.
Ich rätzel da auch immer ;-)

Viele Grüße
Christian

EDIT:
AVRfan ist scheinbar gleicher Ansicht.

Walich
07.05.2007, 22:06
OK, ich versuche morgen das umzulöten. Vieleicht habe ich glück und die Schnittstelle meines PCs ist noch heil?

Ich Danke euch trotzdem für eure Unterstützung und
melde mich morgen wieder.

Walich
08.05.2007, 17:51
Also, dass es so ein einfacher Fehler sein würde, wusste ich schon von Anfang an. Ich habe alles richtig gemacht, außer diese zwei Leitungen vertauscht!

Jetzt funktioniert alles einwandfrei!

Danke euch allen.