LPT-Port (erweitert)

Hardware- und Elektronikbasteleien, Ansteuerung von Schnittstellen und Peripherie.
Fragen zu "Consumer"-Problemen kommen in Offtopic.
m0
Beiträge: 150
Registriert: 12.10.2004 13:55
Wohnort: Immenstadt
Kontaktdaten:

LPT-Port (erweitert)

Beitrag von m0 »

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
Schaut euch doch http://www.momo-wagner.de mal an ;)

MfG
m0
Benutzeravatar
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:

Beitrag von Falko »

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
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
m0
Beiträge: 150
Registriert: 12.10.2004 13:55
Wohnort: Immenstadt
Kontaktdaten:

Beitrag von m0 »

Vielen Dank für Deine Antwort das war genau die info die ich gesucht habe!
Das nächste mal werde ich in die harware sektion posten, sorry.

m0
Schaut euch doch http://www.momo-wagner.de mal an ;)

MfG
m0
Benutzeravatar
RAaBe
Beiträge: 79
Registriert: 07.09.2004 12:52
Wohnort: Münsterland
Kontaktdaten:

Beitrag von RAaBe »

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
Zuletzt geändert von RAaBe am 11.08.2006 15:25, insgesamt 1-mal geändert.
Benutzeravatar
SoS
Beiträge: 340
Registriert: 29.08.2004 09:31
Kontaktdaten:

Beitrag von SoS »

@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
Benutzeravatar
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:

Beitrag von Falko »

@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 :mrgreen:

Gruß Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
RAaBe
Beiträge: 79
Registriert: 07.09.2004 12:52
Wohnort: Münsterland
Kontaktdaten:

Beitrag von RAaBe »

@Falko

Hallo, ich habe nur ein einfaches 4*20 Display. Programme gibt es dafür viele, aber ich wollte es mal mit PB versuchen.

@SoS

Danke für den Link. Ich werde es mal damit versuchen.
Benutzeravatar
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:

Beitrag von Falko »

@RAaBe

Dann könnte es wie folgt, ähnlich wie meins aussehen:



BildBild

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
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Benutzeravatar
RAaBe
Beiträge: 79
Registriert: 07.09.2004 12:52
Wohnort: Münsterland
Kontaktdaten:

Beitrag von RAaBe »

@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.
Benutzeravatar
SoS
Beiträge: 340
Registriert: 29.08.2004 09:31
Kontaktdaten:

Beitrag von SoS »

RAaBe hat geschrieben: Ich werde es mal damit versuchen.
Ich habe hier auch noch 5 8x24 Text-Lcds rumliegen (1€ pro stk. bei ebay :) ),bin aber noch nicht dazu gekommen.

/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 
Antworten