Externe Signale auswerten und auch wieder senden? Wie am einfachsten und besten?
-
Hallo!
Aus einer Diskussion im PC-Forum entstand die folgende Frage:
Weiß jemand wie ich (über parallele Schnittstelle o.ä.) Signale (von Türkontakten etc.) einlesen und evtl auch Signale senden kann? Es sollte aber nicht in TP sein, am besten in C++Ich ergänze das ganze mal um eine Erklärung:
Es geht darum, wenn z.B. die Tür aufgemacht wird, eine Meldung auszugeben.
Bzw. (das ist jetzt auf meinen Mist gewachsen, nicht auf den Polofreak), dass man auf das Ausmachen der Zündung reagiert und nach Nachfrage die Fenster schließt (also die elektrischen Fensterheber ansteuert).Ein bischen Hardwarekunde wird da aber wohl auch noch nötig sein...
Also, wie macht man sowas? Am liebsten per MFC.
-
Wo genau liegt das problem?
Das COM/LPT port steuerst du gleich wie ein file. CreateFile("COM1",... und dann WriteFile / ReadFile. Gibts x threads hier im forum dazu.
-
LPT funktioniert also genauso wie der Com-Port?
Schön, dann muss man ja blos eines lernen. Ein Buch Port-Programmierung für Dummies gibts aber nicht, oder?
-
~@ Estartu_de: Ich habe (allerdings mit EVC++) letztes Semester eine Bluetooth Remotesteuerung Implementiert, BT verhält sich auch wie ein Comport. Endlich mal was wo ich dir dann evtl. mal helfen kann *gg* auch mal bei Codeguru und so schauen da gibt es fertige Comport Projekte von denen man viel lernen und übernehmen kann.~
Wie ist das jetzt wenn ich einzelne Leitungen ansprecehn will, kann ich dann einfach nen Binärcode auf den LPT schreiben oder wie ist das? Bei unserem BT mussten wir alles in Hex senden. Und in Hex müsste ich ja jedes mal erst umrechnen wenn ich eine Leitung schalten oder abfragen will!
^Bleibt mir nur die Frage, die eigentlich schon nicht mehr hier rein gehört aber grad aufs Thema passt, wie funktioniert das Hardwaretechnisch? Wie müssen die Signale anliegen?^
-
Also, wegen dem Hex würde ich mir einfach #defines machen und mit denen Arbeiten.
Sowas:#define Bin_0000_0001 1 #define Bin_0000_0010 2 //usw.
Bzw. wenn die Leitungen für bestimmte Ein-/Ausgänge stehen, würde ich das als Namen nehmen.
Ja, mit dem Com-Port muss ich mich noch beschäftigen, allerdings in Verbindung mit Kartenlesern. Aber noch schiebe ich das...
Edit: Komisch, ich konnte es lesen...
-
genau das war oben meine Frage ob da dann wirklich ein Bestimmtes BIT einfach für eine Leitung steht.
@Estartu_de: Bitte nicht am Ende des Textes Tief stellen sonst kann man es nicht lesen