![]() |
Mal wieder Serielle Schnittstelle :)
Hi,
ich habe ein paar Fragen, die auch nach Bedienung der Suchfunktion noch nicht selbst beantworten konnte: Ich möchte, dass PIN Nummer 2 der Seriellen Schnittstelle gesetzt wird, nun habe ich mir zur Verwirklichung die IO.dll runtergeladen und eingebunden. Ich hab also jetzt die zwei Funktionen
Delphi-Quellcode:
Damit kann ich auch Werte setzen (in $378) allerdings hab ich eine Sache nicht wirklich verstanden: Was sind denn Serielle Schnittstelle - Parallelport, bzw. gibt es da einen Unterschied.
procedure PortOut(Data: Word; Wert: Byte); stdcall; external 'io.dll';
function PortIn(Data: Word); stdcall; external 'io.dll'; Die Frage stelle ich mir, da mir jemand im DF geschrieben hat, dass man die Sache mir der Ansteuerung der Seriellen Schnittstelle auch über den Parallelport regeln könne (hoffe ich hab das so richtig wiedergegeben). Er hat aber auch gemeint, dass es da 8 Datenleitungen oder so gibt, D0-D7 ... auf dem Stecker, den ich in LPT1 stecke, sehe ich aber auf der einen Seite 13 Anschlüsse, auf der anderen 12. Ich muss auf der Seite mit den 13 Anschlüssen den zweiten ansprechen/steuern können. Wie geht das jetzt? Hoffentlich könnt ihr mir (oder besser demjenigen, der mich das gefragt hat :)) helfen, Johannes |
Re: Mal wieder Serielle Schnittstelle :)
Serielle und Paralle Schnittstellen sind 2 Paar Stiefel. Es sind große Unterschiede vorhanden.
Der Name sagt schon viel. Über die serielle Schnittstelle werden alle Bits einer Kommunikation seriell übertragen. Bei der (beim PC gebräuchlichen) parallen Schnittstelle werden 8 Bits parallel übertragen. Für jede Schnittstelle gibt es diverse Steuerleitungen (Masse, Tasksignal u.ä.), weshalb auch mehr als 9 (8 Signalleitungen + Masseleitung) bei der Parallen Schnittstelle und mehr als 2 (Signalleitung + Masseleitung) bei der seriellen Schnittstelle vorhanden sind. Sag einfach mal was du Steuern willst. Für serielle Kommunikation gibt es viele fertige Komponenten (z.B. AsyncPro), welche dir einen großteil der Basis-Kommunikationsarbeit abnehmen. Bei der bidirektionalen parallen Schnittstelle schaut es schlechter aus (wußte auch keine Lösung welche von 9x-2003 funktionieren würde). |
Re: Mal wieder Serielle Schnittstelle :)
Ein Freund von mir möchte eine Waschmaschine an seinen PC anschließen (über LPT1) und ich soll das Kommunikationsprogramm schreiben. Er hat sich da einen Stecker gebastelt, der an der Seriellen Schnittstelle angebracht wird. Und zwar ist dort am zweiten Anschluss von links in der Reihe, wo 13 Anschlüsse sind, das Kabel "angelötet". Das ist soweit ich ihn verstanden hab dafür zuständig, dass die Waschmaschine angeht. Diesen PIN soll ich nun mit einem Programm ansteuern und setzen können.
Allerdings weiß ich nicht genau, wie ich das bewerkstelligen soll :) und hoffe auf nützliche Tipps/Links von euch :) Achja, ich soll noch fragen, ob ich da einen Widerstand auslesen kann (kA was er damit genau meint) Gruß Johannes |
Re: Mal wieder Serielle Schnittstelle :)
Zitat:
Zitat:
Dann steht dort auch welcher Pin D0 bis D7 ist (was ich noch weis, müßte Pin2 D0 sein, Pin3 D1 .....) Dann kanst mit der DLL von oben einfach die Werte schreiben 0 alles aus (Wert mußt binär zusammenrechnen D0 .. 1, D1..2, D2..4, D3...8 ...) [/quote] Zitat:
Wirst aber in jeden Fall eine kleine externe Schaltung brauchen |
Re: Mal wieder Serielle Schnittstelle :)
Vielen Dank, ich hab das jetzt mit Seriell oder Parallel endlich verstanden :)
Hab auch eben erst erfahren, dass der Stecker in den parallelen Steckplatz muss, da ich mich da aber nciht auskenne und er gesagt hatte, es sei über Seriell zu regeln ..... So werd ich schon eine Lösung finden, danke ;) Hmm, welche Zahl muss ich mit PortOut($378, zahl) übergeben, damit ich den zweiten Anschluss von links auf der längeren Seite des Parallelports aktivieren kann, und wie kann ich ihn wieder deaktivieren? |
Re: Mal wieder Serielle Schnittstelle :)
Zitat:
aber zum testen kannst ja einfach mal alle Datenbits auf 1 stellen (hängst die restlichen einfach ab) PortOut($378, 255) alle bits ein und PortOut($378, 0) alle bits aus |
Re: Mal wieder Serielle Schnittstelle :)
Hmm jo so ungefähr hab ich mir das auch gedacht. Aber da es doch 256 gibt (oder?), müsste dann nicht PortOut($378, 0) beim o. (also quasi 1.) ein Datenbit setzen und nur die anderen 255 löschen?
|
Re: Mal wieder Serielle Schnittstelle :)
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz