RS232 - funktioniert immer noch nicht

  • Thread starter Markus Gronotte
  • Start date
Markus Gronotte wrote:
Ja genau das meinte ich ja. Wie kriege ich bei DTR +? Wieviel Plus
kann man da überhaupt kriegen? Ich krieg hier je nach verwendetem PC
mal 0,8V oder 1,7V. Aber keine 5V.
Und Du misst auch bestimmt nicht an einem Eingang? Und DTR ist auch
bestimmt nicht versehentlich kurzgeschlossen?

Gruß
Henning
 
"Henning Paul"

Ja genau das meinte ich ja. Wie kriege ich bei DTR +? Wieviel Plus
kann man da überhaupt kriegen? Ich krieg hier je nach verwendetem PC
mal 0,8V oder 1,7V. Aber keine 5V.

Und Du misst auch bestimmt nicht an einem Eingang? Und DTR ist auch bestimmt nicht versehentlich kurzgeschlossen?
DTR DSR DCD sind verbunden. Aber auch einzeln bekomm ich nur die 0,8V
an DTR also Pin 4.

lg,

Markus
 
In Delphi geht das mit:

dcbPort.Flags := lFlags;

wobei lFlags in Dword ist.


siehe auch:
----------------------------------
function Tmini.OpenCom:Boolean;
var sCom: String;
dcbPort: TDCB;
begin
if not(IsOpen) then
begin
sCom := 'COM' + IntToStr(nPort);

hPort := CreateFile(PChar(sCom), GENERIC_READ or GENERIC_WRITE,0,nil,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, LongInt(0));
if IsOpen then
if GetCommState(hPort,dcbPort) then
begin
dcbPort.BaudRate := lBaud;
dcbPort.ByteSize := nBit;
if cParity = 'n' then
dcbPort.Parity := NOPARITY
else
if cParity = 'e' then
dcbPort.Parity := EVENPARITY
else
dcbPort.Parity := MARKPARITY;

dcbPort.StopBits := ONESTOPBIT;
dcbPort.Flags := lFlags;
SetCommState(HPort, dcbPort);
end; {if GetCommState...}
end;
result := IsOpen;
end; {function TForm1.Open}

----------------------------------------------------------------

Gruß

S. Bröring
 
Ups, ich vergaß:

in lFlags musst du das passende Bit setzen, welches das ist, weiß ich nicht,
einfach mal die 16 Bits ausprobieren

Gruß

S. Bröring
 
"MaWin"

Du hast recht. Ich wollte es vor dem abschicken noch mal selber muessen,
aber unter dem Tisch war's zu dunkel. TxD ist also negative, DTR muss
positiv geschaltet werden. Also ist die vereinfachte Schaltung

DTR--1k--|>|-- GND
| LED vom 2. Optokoppler
2k7
|
+-- RxD
|C
Optokoppler
|E
TxD
Hallo Mawin. Dein Schaltungsvorschlag ist echt toll. Ich habe
den ursprunglichen Schaltplan jetzt erstmal von meinem
Steckbrett "entfernt" *g* und werde nach deiner Vorgabe (die
funktioniert nämlich auch noch nicht 100%, aber bei den dabei
auftauchenden Fehlern _verstehe_ ich zumindest warum) weiter
vorgehen. Ich habe bei der ursprünglichen Schaltung nämlich
mal grob nachgerechnet, was die verbraucht. Das haette ich
viel frueher tun sollen. Jedenfalls ist ja DTR mit TxD (also 24V)
über 390 Ohm verbunden. Das sind ja 61 mA, die da flöten gehn :O

Naja ich möchte jedenfalls nochmal allen für ihre Geduld danken.
Ich denke bzw. hoffe mal dass ich jetzt ohne weitere Nachfragen
eine funktionierende Schaltung (ohne externe Stromversorgung)
hinbekomme. Seid bitte nachsichtig mit mir, es war mein
allererster Versuch mit RS232 ;)

lg,

Markus
 
Hi

DTR
|
|
2k7
|
|
|
+-- RxD
|
|
|C
OK
|E
|
|
TxD
So. funktionert jetzt exakt so wie dus gesagt hast.
BTW hab ich doch noch eine kleine Frage. Ich kann an
der Sendefrequenz hoch und runterdrehen wie ich will
und die Daten kommen trotzdem korrekt an. Kann ich
davon ausgehen dass das eine Art Standard ist, oder
ist da meine Schnittstelle eine Ausnahme? Nur ab
200kBaud macht der OK nicht mehr mit. Weil der
Originaldesigner der Schaltung meinte zu mir, dass
bei ihm eine exakte Frequenzabstimmung notwendig gewesen
sei, bis es funktionierte.

lg,

Markus
 
"Markus Gronotte" <markus@gronoworx.dyndns.org> schrieb im Newsbeitrag
news:42f8eafc$0$6973$9b4e6d93@newsread2.arcor-online.net...

So. funktionert jetzt exakt so wie dus gesagt hast
Hab ich nach der ersten Peinlichkeit also doch noch was
vernuenftiges gepostet.

Weil der
Originaldesigner der Schaltung meinte zu mir, dass
bei ihm eine exakte Frequenzabstimmung notwendig gewesen
sei, bis es funktionierte.
Die Frequenz muss bis auf wenige Prozent identisch mit der
eingestellten Empfangsbaudrate sein, sonst kommen *falsche*
Daten an, aber nicht 'keine Daten'.

200kBaud macht der OK nicht mehr mit.
Passt. Selbst bei optimaler Beschaltung eines Optokopplers
sind die normalen Teile eher langsam. Schnelle Optokoppler
gibt es (6N136, digitale Optokoppler) wenn man sie braucht.
--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
 
"MaWin"

So. funktionert jetzt exakt so wie dus gesagt hast
Hab ich nach der ersten Peinlichkeit also doch noch was
vernuenftiges gepostet.
Ich hab von dir bisher noch keinen falschen Tip gelesen ^^
Der kleine Irrtum ist noch gar nichts gegen das, was ich
grad noch fabriziert hab. Habe Masse vom Oszi an RxD angeschlossen
und wunderte mich mal wieder mehrere Minuten lang, warum am OK
nen Signal anlag und nicht am RxD *g* nunja... *räusper* ;-)

Weil der
Originaldesigner der Schaltung meinte zu mir, dass
bei ihm eine exakte Frequenzabstimmung notwendig gewesen
sei, bis es funktionierte.
Die Frequenz muss bis auf wenige Prozent identisch mit der
eingestellten Empfangsbaudrate sein, sonst kommen *falsche*
Daten an, aber nicht 'keine Daten'.
Hmm. ok dann muss meine Schnittstelle eine Ausnahme sein, denn
die Daten sind korrekt. Also doch feste Frequenz ;) Naja, hatte
erst überlegt ob ich den Trimmpoti lasse oder doch einen festen
Widerstand für die Frequenz einsetze.

lg,

Markus
 
Hallo,

| Die LED ist ja auf http://home.arcor.de/pscit/geraeteseite.png

Da ist man mal ne Weile weg und schon hab ich mal wieder was
möglicherweise interessantes verpasst. Oder tut der Link nur bei mir
nicht?

MArtin
 

Welcome to EDABoard.com

Sponsor

Back
Top