Entwickler-Ecke

Sonstiges (Delphi) - Paralleport und Delphi


Delete - Di 17.05.05 07:11
Titel: Paralleport und Delphi
Hallo,
ich möchte mit Hilfe 2er Lichtschranken und meines PC die Geschwingkeit meine Ferngesteuerten Autos Messen.
Nun meine Frage:
Wie kann ich die Lichtschranke am bessen an meinen Pc anschließen? (Ich dachte mir über den Parallelport?)
Und sie andere Frage wie überwache ich mir Delphi den Parallelport?

Ich danke euch jetzt schon mal für eure Hilfe.

Gruß

Mathias


Hansi@OMG - Di 17.05.05 07:20

Hier ein bisschen Code aus dem Swissdelphicenter. Habs noch nicht getestet, müsste aber wie immer funktionieren.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
procedure Out32(portadresse: Word; wert: Byte);
var
  val: Byte;
begin
  val := Byte(wert);
  asm
    push dx
    mov dx,portadresse
    mov al,val
    out dx,al
    pop dx
  end;
end;

function Inp32(portadresse: Word): Byte;
var
  val: Byte;
begin
  asm
    push dx
    mov dx,portadresse
    in al,dx
    mov val,al
    pop dx
  end;
  Inp32 := Byte(val) and $00ff;
end;


// Example/Beispiel:

  Out32($3780)  {= Dataport all 8 Bit Low}
  Out32($378, (Inp32($378or 1); {Dataport Bit 1 High}
  Out32($378, (Inp32($378and 254);  {Datap. Bit 1, Low}


Muetze1 - Di 17.05.05 10:29

Moin!

user profile iconHansi@OMG hat folgendes geschrieben:
Hier ein bisschen Code aus dem Swissdelphicenter. Habs noch nicht getestet, müsste aber wie immer funktionieren.


Ja, aber nur unter Windows 9x und ME, da ab NT direkter Hardwarezugriff verboten ist und entsprechend von Windows auch bestraft wird...

Und selbst unter Win9x/ME ist dieser direkte Zugriff strafbar, da du den Windows Funktionen - u.a. dem Parallelporttreiber, dem Spooler etc dazwischen funkst. Nutze lieber die vorhandenen WinAPI Funktionen!

MfG
Muetze1


Delete - Sa 21.05.05 12:42

Ja das habe ich auch herrausgefunden.
Ich habe auch herrausgefungen das ich eine Treiber brauch und zwar den io.dll. (den habe ich auch schon)
Aber wie überwache ich jetzt mit dem Treiber und Delphi einen einzelnen Pin solange bis ein Stomenpluz kommt?

Mathias