AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Parallelport unter XP ansteuern

Ein Thema von Landfloh · begonnen am 17. Feb 2008 · letzter Beitrag vom 17. Feb 2008
Antwort Antwort
Landfloh

Registriert seit: 17. Feb 2008
75 Beiträge
 
Delphi 7 Personal
 
#1

Parallelport unter XP ansteuern

  Alt 17. Feb 2008, 18:18
Hallo

Ich bin noch jung programmiere aber sehr gerne in Delphi.
Jetzt habe ich einen Roboter gebaut und würde in gerne (unter XP) mit Delphi über den Parallelport ansteuern.
In der Programmiersprache QickBasic unter Dos habe ich es schon geschafft nur denke ich das Delphi sehrviel ausgearbeiteter ist.
Nur weiß ich noch garnicht wie ich das anstellen soll .

Kann mir jemand helfen?

Gruß Landfloh
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.108 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Parallelport unter XP ansteuern

  Alt 17. Feb 2008, 18:28
Hallo Landfloh

Such mal nach ComPort
Dominik
Wer anderen eine Grube gräbt, hat ein Gruben-Grab-Gerät!
  Mit Zitat antworten Zitat
Benutzerbild von ich2
ich2

Registriert seit: 7. Dez 2005
Ort: Würzburg
54 Beiträge
 
#3

Re: Parallelport unter XP ansteuern

  Alt 17. Feb 2008, 18:29
willkommen in der Delphi-Community!

also ich hatte mal ein kleines Programm geschrieben, um einige LED's zum blinken zu bringen!
Dazu hatte ich damals eine fertige DLL verwendet: INPOUT32.DLL

damit konnte mal daten senden und empfangen!

mfg
Angehängte Dateien
Dateityp: rar lpt_port_847.rar (181,4 KB, 38x aufgerufen)
  Mit Zitat antworten Zitat
Landfloh

Registriert seit: 17. Feb 2008
75 Beiträge
 
Delphi 7 Personal
 
#4

Re: Parallelport unter XP ansteuern

  Alt 17. Feb 2008, 18:43
Danke Muss ich dann alles gleichzeitig starten?
Die Ausführung Projekt1.exe funktioniert.
Aber wenn ich Unit1 lade dann kommt diese Fehlermeldung: [i][Fataler Fehler] Ausgabedatei 'C:\Dokumente und Einstellungen\Soz1L\Eigene Dateien\Delphi Programme aus Internet\LPT_Port\Project1.exe' kann nicht erstellt werden

Danke aber für die schnellen Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von ich2
ich2

Registriert seit: 7. Dez 2005
Ort: Würzburg
54 Beiträge
 
#5

Re: Parallelport unter XP ansteuern

  Alt 17. Feb 2008, 18:55
...vielleicht irgendwo ein schreibschutz drinnen?

aber die wichtigsten Dinge sind ja nachvollziehbar:

Delphi-Quellcode:
..
var
..
  BasAdr: Integer = $378;
..

implementation

{$R *.dfm}

{Funktionen aus "inpout32.dll" laden:}
procedure Out32 ( Addresse: Integer; Wert: byte ); stdcall; export; external 'INPOUT32.DLL';
function Inp32 ( Addresse: Integer ): Byte; stdcall; export; external 'INPOUT32.DLL';

..
function Init_LPT_Port: Boolean;
begin
  try
   {Alle Bits im Daten-Register setzen:}
   Out32 ( BasAdr, 255 ); {alle Datenausgänge high}
   {Um die 4 Steuerausgänge zu setzen, müssen Bit0,
    Bit1, Bit3 gelöscht und Bit2 gesetzt werden.
    Außerdem wird Bit4 (Interrupt enable) gesetzt
    und Bit5 (bidirektional) gelöscht. Bit6, Bit7
    sind ohne Bedeutung:}

   Out32 ( BasAdr+2, 20 ); {alle Steuerausgänge high}

    {Registerinhalte einlesen und anzeigen:}
    gelesen := Inp32(BasAdr);
    Form1.ListBox1.Items.Add ( 'Parallelport-Daten-Register' );
    Form1.ListBox1.Items.Add ( IntToStr ( gelesen ) );
    gelesen := Inp32(BasAdr+2);
    Form1.ListBox1.Items.Add ( 'Parallelport-Steuer-Register' );
    Form1.ListBox1.Items.Add ( IntToStr ( gelesen ) );

    result := true;
  except
    result := false;
  end;
end; // <- Init_LPT_Port

function Destroy_LPT_Port: Boolean;
begin
  try
   {Alle Bits im Daten-Register löschen:}
   Out32(BasAdr, 0); {alle Datenausgänge low}
   {Um die 4 Steuerausgänge zu setzen, müssen Bit0,
    Bit1, Bit3 gelöscht und Bit2 gesetzt werden.
    Außerdem wird Bit4 (Interrupt enable) gesetzt
    und Bit5 (bidirektional) gelöscht. Bit6, Bit7
    sind ohne Bedeutung:}

   Out32(BasAdr+2, 27); {alle Steuerausgänge low}
   {Registerinhalte einlesen und anzeigen:}
   gelesen := Inp32(BasAdr);
   Form1.ListBox1.Items.Add ( 'Parallelport-Daten-Register' );
   Form1.ListBox1.Items.Add ( IntToStr(gelesen) );
   gelesen := Inp32(BasAdr+2);
   Form1.ListBox1.Items.Add ( 'Parallelport-Steuer-Register' );
   Form1.ListBox1.Items.Add ( IntToStr(gelesen) );

    result := true;
  except
    result := false;
  end;
end; // <- Destroy_LPT_Port

..

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Out32 ( BasAdr, 255 ); {alle Datenausgänge high}
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin

  case blink of
    0..130: begin
              if blink mod 2 = 1 then
                Out32 ( BasAdr, 255 )
              else
                Out32 ( BasAdr, 0 );

              Inc ( Blink );
            end;
    131: begin
           Out32 ( BasAdr, 255 );
           Form1.Timer2.Enabled := false;
           Form1.Timer1.Enabled := true;
         end;
  end;

end;

..

procedure TForm1.FormDestroy(Sender: TObject);
begin
  Out32(BasAdr, 0); {alle Datenausgänge low}
  Destroy_LPT_Port;
end;
mfg
  Mit Zitat antworten Zitat
Landfloh

Registriert seit: 17. Feb 2008
75 Beiträge
 
Delphi 7 Personal
 
#6

Re: Parallelport unter XP ansteuern

  Alt 17. Feb 2008, 19:05
Danke
Ich arbeite mich jetzt mal durch den Quelltext.

Gruß Landfloh
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf