LPT-Port (erweitert)
LPT-Port (erweitert)
Hallo!
Ist es möglich mit der "InpOut32.dll" ausser der 8 dataports des Parallelports auch noch einen weiteren Ausgang zu Steuern? oder hat der LPT gar nicht mehr ausgänge? sind die Busy, usw. Pins alles Eingänge?
Danke Schonmal!
Bis dann
m0
Ist es möglich mit der "InpOut32.dll" ausser der 8 dataports des Parallelports auch noch einen weiteren Ausgang zu Steuern? oder hat der LPT gar nicht mehr ausgänge? sind die Busy, usw. Pins alles Eingänge?
Danke Schonmal!
Bis dann
m0
- Falko
- Admin
- Beiträge: 3531
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0 - Kontaktdaten:
Das richtet sich danach, welche Basisadresse (LPT-Adresse) du nimmst.
Basisadressen der LPT wären $378 (LPT1), $278 (LPT2) oder $3BC (LPT1 (Herculesskarte). Aber man kann die auch zu den jeweiligen LPT's vertauschen
Beispiel Basis=$378 +0 ; Datenregister
Basis =$378+1 ; Statusregister
Basis =$378+1 ; Steuerregister
Basisadresse + 0 = Datenregister (D0...D7, ausgeben)
Basisadresse + 1 = Statusregisert ( nur lesen)
Basisadresse + 2 ausgeben und lesen
Beim Statusregister nur lesen
Bit 3: Error
Bit 4: Select
Bit 5: PE
Bit 6: ACK
Bit 7: Busy (invertiert)
Beim Steuerregister ausgeben bzw. gelesen
Bit 0: Strobe (invertiert)
Bit 1: Auto Feed
Bit 2: Init (invertiert)
Bit 3: SLKT IN (invertiert)
Da dieses schon in die Hardware geht, mach das nächste Mal den Eintrag
in die Hardwareecke.
Ich verschiebe es jetzt mal dort hin
MfG Falko
Basisadressen der LPT wären $378 (LPT1), $278 (LPT2) oder $3BC (LPT1 (Herculesskarte). Aber man kann die auch zu den jeweiligen LPT's vertauschen
Beispiel Basis=$378 +0 ; Datenregister
Basis =$378+1 ; Statusregister
Basis =$378+1 ; Steuerregister
Basisadresse + 0 = Datenregister (D0...D7, ausgeben)
Basisadresse + 1 = Statusregisert ( nur lesen)
Basisadresse + 2 ausgeben und lesen
Beim Statusregister nur lesen
Bit 3: Error
Bit 4: Select
Bit 5: PE
Bit 6: ACK
Bit 7: Busy (invertiert)
Beim Steuerregister ausgeben bzw. gelesen
Bit 0: Strobe (invertiert)
Bit 1: Auto Feed
Bit 2: Init (invertiert)
Bit 3: SLKT IN (invertiert)
Da dieses schon in die Hardware geht, mach das nächste Mal den Eintrag
in die Hardwareecke.
Ich verschiebe es jetzt mal dort hin
MfG Falko
Eine Frage mal an FALKO, hast du schon mal ein LCD-Display (4*20) am LPT betrieben? Vielleicht kannst du mir auch zeigen, wie man das am besten mit PN ansteuert?
MfG
RA@Be
MfG
RA@Be
Zuletzt geändert von RAaBe am 11.08.2006 15:25, insgesamt 1-mal geändert.
@RAabe
Hättest Du mir in der PN geschrieben was für ein lcd Du hast hätte ich.............
Aber egal
http://people.freenet.de/n83u13/L2432.zip
Ist zwar nich in PB geschrieben aber mit den Informationen wirst Du das sicher Portieren können.
Viel Spass
Hättest Du mir in der PN geschrieben was für ein lcd Du hast hätte ich.............
Aber egal
http://people.freenet.de/n83u13/L2432.zip
Ist zwar nich in PB geschrieben aber mit den Informationen wirst Du das sicher Portieren können.
Viel Spass
- Falko
- Admin
- Beiträge: 3531
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0 - Kontaktdaten:
@RAaBe
Ich komme gerade, von der Spätschicht. Ich habe noch ein grünes
4X20 - Zeichen Punktmatrix-Display was man über LPT ansteuern kann.
Dieses hat einen eigenen Controller, den man leicht nach der Beschreibung
ansprechen kann. Zwar hatte ich das damals zum LinuxPC, welches eine passende Software dazu hatte zusammengebastelt, aber in PB sollte es kein
Problem sein.
Vielleicht könntest du uns ein paar Daten über dein Display hier angeben.
@SoS
Wenn ich das richtig sehe, ist es nicht so ein schönes Grafikdisplay, was du angesteuert hast, sondern einfach nur 4 Zeilen mit 20 einzelnen Matrix-Buchstaben, die auch selbst definiert werden können.
Was übrigens interessant ist, Reichelt hat jetzt neue Grafikdisplays
herausgebracht, welche die Pixel organisch erzeugen. Zudem sind sie
für 29,90€ superünstig, aber nicht sehr groß
Nennen tuen die sich OSRAM Organische Pictiva-LED.
Beschreibung dazu:
klare Farben, hoher Kontrast
sehr gute Videofähigkeit
Blickwinkel: 160°
active Fläche: 20,1x13,4mm
Nur ist die Frage, ob die einen externen Controller brauchen.
Bei Reichelt steht dazu noch ein Adapter mit Programmierumgebung
und dann ist der Preis nicht gerade sehr günstig, wenn das erforderlich
ist
Gruß Falko
Ich komme gerade, von der Spätschicht. Ich habe noch ein grünes
4X20 - Zeichen Punktmatrix-Display was man über LPT ansteuern kann.
Dieses hat einen eigenen Controller, den man leicht nach der Beschreibung
ansprechen kann. Zwar hatte ich das damals zum LinuxPC, welches eine passende Software dazu hatte zusammengebastelt, aber in PB sollte es kein
Problem sein.
Vielleicht könntest du uns ein paar Daten über dein Display hier angeben.
@SoS
Wenn ich das richtig sehe, ist es nicht so ein schönes Grafikdisplay, was du angesteuert hast, sondern einfach nur 4 Zeilen mit 20 einzelnen Matrix-Buchstaben, die auch selbst definiert werden können.
Was übrigens interessant ist, Reichelt hat jetzt neue Grafikdisplays
herausgebracht, welche die Pixel organisch erzeugen. Zudem sind sie
für 29,90€ superünstig, aber nicht sehr groß
Nennen tuen die sich OSRAM Organische Pictiva-LED.
Beschreibung dazu:
klare Farben, hoher Kontrast
sehr gute Videofähigkeit
Blickwinkel: 160°
active Fläche: 20,1x13,4mm
Nur ist die Frage, ob die einen externen Controller brauchen.
Bei Reichelt steht dazu noch ein Adapter mit Programmierumgebung
und dann ist der Preis nicht gerade sehr günstig, wenn das erforderlich
ist
Gruß Falko
- Falko
- Admin
- Beiträge: 3531
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0 - Kontaktdaten:
@RAaBe
Dann könnte es wie folgt, ähnlich wie meins aussehen:
Hierzu eine andere Seite und die Beschreibung als PDF:
http://www.crystalfontz.com/products/20 ... YYHJPE.pdf
Und eine deutsche Seite:
http://elmicro.com/de/lcd.html
http://www.sprut.de/electronic/lcd/index.htm#stecker
http://www.sprut.de/electronic/lcd/index.htm#init
http://www.sprut.de/electronic/lcd/index.htm#befehle
Ich hatte es mir damals zum flie4 - LinuxRouter mal gekauft und zusammen gelötet.
In PB habe ich das noch nicht angesteuert, aber es sollte mit PB
und InpOut32 als auch anderen DLL's kein Problem sein.
Ich muss das mal aus meiner Bastelkiste rausholen und kann für PB
gerne ein SourceBeispiel machen. Es sei, denn SoS hat dazu was
Passendes?
Gruß Falko
Dann könnte es wie folgt, ähnlich wie meins aussehen:
Hierzu eine andere Seite und die Beschreibung als PDF:
http://www.crystalfontz.com/products/20 ... YYHJPE.pdf
Und eine deutsche Seite:
http://elmicro.com/de/lcd.html
http://www.sprut.de/electronic/lcd/index.htm#stecker
http://www.sprut.de/electronic/lcd/index.htm#init
http://www.sprut.de/electronic/lcd/index.htm#befehle
Ich hatte es mir damals zum flie4 - LinuxRouter mal gekauft und zusammen gelötet.
In PB habe ich das noch nicht angesteuert, aber es sollte mit PB
und InpOut32 als auch anderen DLL's kein Problem sein.
Ich muss das mal aus meiner Bastelkiste rausholen und kann für PB
gerne ein SourceBeispiel machen. Es sei, denn SoS hat dazu was
Passendes?
Gruß Falko
@Falko
Hallo, ja genau so sieht meins auch aus. Folgendes habe ich schon herausgefunden. Die Pinbelegung bei mir und dem Beispiel von @SoS (Pollin) unterscheiden sich bei den Pins R/W und RS.
Ich habe mein Display nach dem folgenden Bild angeschlossen:
http://jalcds.de/images/4x20wobacklight.gif
Nun werde ich versuchen den Code dahingehend anzupassen.
Hallo, ja genau so sieht meins auch aus. Folgendes habe ich schon herausgefunden. Die Pinbelegung bei mir und dem Beispiel von @SoS (Pollin) unterscheiden sich bei den Pins R/W und RS.
Ich habe mein Display nach dem folgenden Bild angeschlossen:
http://jalcds.de/images/4x20wobacklight.gif
Nun werde ich versuchen den Code dahingehend anzupassen.
Ich habe hier auch noch 5 8x24 Text-Lcds rumliegen (1€ pro stk. bei ebay ),bin aber noch nicht dazu gekommen.RAaBe hat geschrieben: Ich werde es mal damit versuchen.
/edit
Ich werde aber winio nutzen.
code aus dem engl. Forum
Code: Alles auswählen
; Purebasic Interface for WinIO DLL
; I/O Library Wrapper
Global IO_Status
#IO_Driver = 1
Procedure I_Init()
CallDebugger
IO_Status = OpenLibrary(#IO_Driver, "WinIO.Dll")
If IO_Status
IO_Status = CallFunction(#IO_Driver, "InitializeWinIo")
Debug Str(IO_Status)
Else
MessageRequester("Error", "File not found or corrupt (WinIO)",#PB_MessageRequester_Ok)
EndIf
ProcedureReturn IO_Status
EndProcedure
Procedure I_Send(PortAddr.w, PortVal.w)
Size_to_Write = 1
ProcedureReturn CallFunction(#IO_Driver, "SetPortVal", PortAddr, PortVal, Size_to_Write)
EndProcedure
Procedure I_Recv(PortAddr)
Size_to_Read = 1
PortVal = 0
ProcedureReturn CallFunction(#IO_Driver, "GetPortVal", PortAddr, @PortVal, Size_to_Read)
EndProcedure
Procedure I_Close()
IO_Status = CallFunction(#IO_Driver, "ShutdownWinIo")
CloseLibrary(#IO_Driver)
ProcedureReturn IO_Status
EndProcedure
If I_Init()
PortAddr=$278
myval=I_Recv(PortAddr)
MessageRequester("Info",Str(myval),0)
I_Close()
Else
MessageRequester("Info","whats that ?",0)
EndIf