Setzen von Port Pins

Hallo Leute,

ich brauche für die Ansteuerung externer Hardware die Möglichkeit Portpins seperat zu setzen/löschen. Geht das irgendwie beim Parallel/Seriellen Port?
Ich brauche das um ein Protokoll zu implementieren, welches die externe Hardware steuert. Dazu müssen einzelne Leitungen auf Low/High gesetzt werden.

P.S. der gleiche Artikel steht noch mal in Software/Programmierung/Allgemein

Hi Michael!

Das ist jetzt aber echt der totale Zufall, das ich da was gefunden habe:
http://www.ciemmesoft.com/componenti/freeware.asp

Unter Baio-Port ist genau Dein Fall beschrieben. Ich habe keine Ahnung, ob Du damit was anfangen kannst. Ich habe es nur gefunden, weil ich Seiten suche die mit dem C++ Builder zu tun haben, weil ich da noch einige Klassen zum freien Download suche. Für Delphi gibt es die irgendwie en masse.

Hoffe das hilft Dir.
Auch Michael

Vielen Dank erst mal für den Link. Ich muß mir die ganzen Klassen erst mal anschauen.
Auf den ersten Blick scheinen die aber alle nur für das Senden/Empfangen ganzer Bytes zu sein und nicht für das setzen einzelner Port pins.

Gruß Michael

Unter Baio-Port ist genau Dein Fall beschrieben. Ich habe
keine Ahnung, ob Du damit was anfangen kannst. Ich habe es nur
gefunden, weil ich Seiten suche die mit dem C++ Builder zu tun
haben, weil ich da noch einige Klassen zum freien Download
suche. Für Delphi gibt es die irgendwie en masse.

Groestenteils kann man die Delphi-klassen und Komponenten auch im C++Builder verwenden.

gutes Package:
http://www.eldos.org/elpack

Gruss, Christof

Auf den ersten Blick scheinen die aber alle nur für das
Senden/Empfangen ganzer Bytes zu sein und nicht für das setzen
einzelner Port pins.

Das kann richtig sein, es kann sein, dass Du immer komplette Bytes senden must um einzelne Pins zu setzen.

Bsp:
letzten Pin auf high setzen, restliche 7 Pins auf low:
sieht bei 8 Pins z.b. so aus:
00000001
folglich musst Du alle 8 Bits senden, in diesem Fall must Du den Bytewert 1 senden.

Gruss, Christof

Leider geht das alles nur unter 95 nicht unter NT und 2000.

Gibt’s dafür auch was?

Danke Michael

Leider geht das alles nur unter 95 nicht unter NT und 2000.

Gibt’s dafür auch was?

Danke Michael

Da kenn ich mich leider nicht aus, wahrscheinlich brauchst Du eine dll die Dir die Moeglichkeit gibt auf die Ports zuzugreifen.
Praktisch einen Treiber dem das OS Zugriff auf den Port gewaehrt.

Leider hab ich da keine Idee wo es sowas gibt, aber geben muss es das.
Vielleicht sogar als Klasse in C++.

Gruss, Christof

Hallo,
wie wäre es damit?
für LPT

#include // für inp und outp

int portLPT = 0x378; // Port Adresse
// schicke an das Port 0
_outp(portLPT, Lpt_Wert); // dez. Wert

// Port0_Wert ist Variable (Wert) für Port0 (lese)
Port0_Wert =_inp(port0);

außerdem man kann Port Wert dez. ablesen und die Werte auf Bits umwandeln:
// Lpt_Wert = Ablese-Wert

m_Bit_7 = (Lpt_Wert & 128) >> 7;
m_Bit_6 = (Lpt_Wert & 64) >> 6;
m_Bit_5 = (Lpt_Wert & 32) >> 5;
m_Bit_4 = (Lpt_Wert & 16) >> 4;
m_Bit_3 = (Lpt_Wert & 8) >> 3;
m_Bit_2 = (Lpt_Wert & 4) >> 2;
m_Bit_1 = (Lpt_Wert & 2) >> 1;
m_Bit_0 = (Lpt_Wert & 1) >> 0;
konnte ich helfen?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]