RI (Ringindicator) an RS232 setzen?
-
Hallo ihr!
Hat jemand von euch schon mal versucht bei der RS232 den RI(Ringindicator) am pin 9 software mäßig zu setzten?
ich steuere ganz normal die RS232 mit CreateFile an!
Und setzte die Atriibute mit :COMMTIMEOUTS sTo; DCB sDcb;Nur kann ich nirgens was darüber finden wie ich den RI setzten kann!
Ich möchte softwaremäßig einen "Impuls" auf die RS232 geben um auf einer Platine einen Schaltvorgang auszulösen!
Hat das wer schon erfahrung mit gemacht und kann mir eine guten Tips geben?thx a lot
Sven
-
Ich bin mir nicht sicher ob du im C++-Forum mit deiner Frage richtig bist

Ich halte das Assembler-Forum für aussichtsreicher.
-
hmmm
Ich will eigendlich ein C++ Programm realisieren welches mir den gewünschten Effekt erbringt! Wieso dann Assembler
??sven
-
wenn, dann is es winapi und kein standard c++,jungs lest doch mal bitte die beschreibung des Forums

-
Okay sorry
dachte das ihr mir hier weiter helfen könntet!Weiß den jemand wie das ob das generell möglich den RI auf HIGH bzw LOW zu setzen?
BITTE VERSCHIEBEN
Sven
-
RI (Pin 9) ist ein Eingang. Den kann man nicht setzten, nur abfragen. Z.B. mit SetCommMask(), EV_RING und WaitCommEvent().
Setzten kann man nur die Ausgänge TxD (SETBREAK und CLRBREAK), DTR und RTS (mit EscapeCommFunction()).Blackbird
-
Schade
dachte dass das gehen würde! Muss ich mir eine andere Lösung einfallen lassen!
Trotzdem danke der Bemühungen.
Ich werde mal im Assemblerforum posten!
Also aus meinen Assembler unterricht weiß ich das ich an der para. Schnittstelle jeden PIN setzten kann! Daher dachte ich dass das auch an der rs232 möglich ist! Vielleicht finde ich dort was.thx a lot
Sven
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Geht doch auch mit der Seriellen Schnittstelle

#include <windows.h> int main (void) { HANDLE hPort; hPort = CreateFile (TEXT("COM1"), GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0); EscapeCommFunction (hPort, SETRTS); // RTS setzten Sleep (2000); EscapeCommFunction (hPort, CLRRTS); // RTS rücksetzten Sleep (2000); EscapeCommFunction (hPort, SETRTS); // RTS setzten Sleep (2000); CloseHandle (hPort); return (0); }RTS ist Pin 7.
Blackbird
-
@Blackbird
Danke und genau das brauchte ich für den RI (RingIndicator) PIN 9 (bei9 pol) / PIN 22 (25 pol)!
Aber ich glaube das sieht schlecht aus! Gibt es da nicht was womit icg das machen kann?sven
-
NEIIIIIIIN!
RI ist ein EINGANG, kein AUSGANG.
Oder schließt Du Deine Lautsprecherboxen zu Hause auch an den Mikrofoneingang an und drehst dann am Laustärkeregler?"Bidirektional" gibt es bei der seriellen Schnittstelle nicht. Da hilft auch kein Assembler.
DTR und RTS und TxD sind Ausgänge, alle anderen sind Eingänge.Wenn Dir aber jemand diese Verschaltung schon gemacht hat, so mußt Du mit einem kleinen Betrug die Sache regeln

Verbinde Pin 7 mit Pin 9 und schalte Pin 7 (siehe mein Prog).Blackbird