Com ansprechen
-
Hi, ich hab mal ne Frage: Wie kann ich bei der Com schnittstelle eigentlich ne verbindung zwischen z.B. Pin1 und Pin2 herstellen. Und zwar von meinem in BCB 5 programmierten Programm aus. Ich will damit elektronische Schaltungen steuern (z.B. ne LED leuchten lassen...). Ich hab davon keine Ahnung, deshalb gebt mir bitte nicht nur nen Link auf so ne Seite, auf der man nichts versteht(zu kompliziert). Wenn ihr vielleicht ne andere (einfachere) Lösung anstatt der Verbindung zwischen 2 Pins, wäre es auch nicht schlecht.
Ich hoffe, ihr könnt mir helfen.
Tim
-
Hi!
Benutzt mal die Suchfunktion des Forums und such mal nach COM. Damit könntest du schon mal fündig werden.
-
Hallo Tim,
ich denke die Serielle ist für die Anwendung nicht so gut geeignet, weil du meines Wissens nur über die Handshakeleitungen einen Dauerpegel realisieren kannst um eine z.B. eine LED ein oder auszuschalten. Der PIN 2 ist die receive- oder die transmitt- Leitung der seriellen.Ich würde mir mal gedanken zu der parallen Schnittstelle (LPT) machen. Da gibt es im Handel auch Harware mit der du die Schaltleistung heraufsetzen kannst. Eine Methode kann sein die LPT wie einen File zu öffnen und ein Bitmuster je nach Beschaltung auf der LPT auszugeben.
Ich hoffe das hilft dir weiter
Evi48
-
@evi48
Aber COM ist doch viel einfacher und billiger. Ausserdem braucht man viel weniger Leitungen, um die Schnittstelle mit der Schaltung zu verbinden. Dahinter einen Demultiplexer und schon hat man mit 1 Kabel 8 Bits zur Verfügung.
-
Original erstellt von RenéG:
Dahinter einen Demultiplexer und schon hat man mit 1 Kabel 8 Bits zur Verfügung.Ich denke ein Schieberegister ist hier die bessere Wahl (o;
-junix
-
Hallo Ihr Beiden,
ihr habt Recht mit den vorgestellten Lösungen und ich bin mir auch nicht ganz sicher was Tim genau realisieren möchte.Bei dir junix habe ich in einer anderen Fragestellung den nachstehenden Link http://bcb-tutorial.c-plusplus.net/ gefunden, den du zur Einarbeitung in die COM angegeben hast. Möglicherweise ist das der Einstieg, den Tim sucht?
Evi48
-
Also was ich erreichen will ist:
Über ein externes, selbsgebautes Gerät den Status meines Programmes anzuzeigen (in Form von LEDs)Es ist mir egal, ob ich im Gerät noch ne extra Stromquelle brauche. Deshalb habe ich gefragt, ob man zwischen den pins ne verbindung herstellen kann (als Schalter)
Pins / \ -----o o--- | | Batterie LED |_____________
**<edit>**Um Leerzeichen zu erhalten sollte man ASCII-Art in
und
einschliessen.</edit>
[ Dieser Beitrag wurde am 30.04.2003 um 14:24 Uhr von junix editiert. ]
-
Ok, da fehlen jetzt die Leerzeichen.
Ich will ohne viel Aufwand nen Stromkreis schliesen. Wieviel Strom kommt denn aus den Pins? Könnte ich damit nen Transistor ansteuern?
-
Naja ein heikles unterfangen, denn die Stärke der Treiber der Schnittstelle sind sehr hardwareabhängig.
Ich würd über einen Konverterbaustein gehen (von Maxim den MAX232) und die Schaltung extern speisen. Ist vielleicht gesünder (o:
-junix
-
Äh, sorry ich versteh nich was du meinst
Konverterbaustein Was das?
-
Naja ein Baustein der hier z.B. RS232-Spannungen nach TTL konvertiert... (zum hundertsten Mal: z.B: MAX232)
-junix
-
Hallo
@Junix: Für das was er machen will reicht ein Optokoppler zwischen DTR und Masse bzw. DSR und Masse. Ideal wäre ein CNY17 o.ä. Dieser enthält am Ausgang gleich einen Transistor. Die programmierung ist auch recht einfach. Öffnen der Schnittstellen wie in der FAQ(oder im angesprochenen Tut). Dann im DCB-Block die DTR / DSR Leitung ein/ausschalten und an die Schnittstelle senden. (siehe WinSDK - Index: DCB, GetCommDCB und SetCommDCB)
@TimN: Falls du weitergehende Info's brauchst, zwecks programmierung, dann mail mir bitte, da ich nicht so oft hier rein schaue.
-
@Maloo da hast du natürlich auch wieder recht. Aber so hätte er gleich die Möglichkeit das Ganze einfach zu erweitern. Ich find ein Design über DTR/DTS etwas kurzsichtig (o:
Übrigens würd ich das nicht über den CommDCB steuern sondern mit der Funktion SetCommStatus (o;
-junix
-
konsolen faq, stichwort "ströme lenken"
^^
dort gibts ne klasse (teils von mir)^^