-
 
          
	
		
		
	
	
	
	
	
		
			
- 
	
	
		
			
			
				Erfahrener Benutzer
			
			
				Roboter Experte
			
			
			
			 
			
				
 
					    
				 
 
			
				
				
				
					Visual Basic und der LPT
				
					
						
							Hallo!
 Ich habe in Visual Basic folgenden Code geschrieben:
 
 Private Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Byte)
 Private Declare Function PortIn Lib "IO.DLL" (ByVal Port As Integer) As Byte
 Dim var1 As Integer
 
 Private Sub Command1_Click()
 PortOut (88 , 128 , 128
 End Sub
 
 Private Sub Command10_Click()
 PortOut (88 , 255 , 255
 End Sub
 
 Private Sub Command11_Click()
 var1 = PortIn(88 
 Text1.Text = var1
 End Sub
 
 Private Sub Command2_Click()
 PortOut (88 , 64 , 64
 End Sub
 
 Private Sub Command3_Click()
 PortOut (88 , 32 , 32
 End Sub
 
 Private Sub Command4_Click()
 PortOut (88 , 16 , 16
 End Sub
 
 Private Sub Command5_Click()
 PortOut (88 , 8 , 8
 End Sub
 
 Private Sub Command6_Click()
 PortOut (88 , 4 , 4
 End Sub
 
 Private Sub Command7_Click()
 PortOut (88 , 2 , 2
 End Sub
 
 Private Sub Command8_Click()
 PortOut (88 , 1 , 1
 End Sub
 
 Private Sub Command9_Click()
 PortOut (88 , 0 , 0
 End Sub
 
 Das heißt auf Button1 ist D0 gleich +5V , auf Button2 ist D1 gleich +5V!
 Also ich spreche damit die Datenleitungen des parallelPorts an!
 NUR: Wenn ich PortOut(88 ,255 setze (Alle Datenleitungen auf high(+5V)), leuchten bei mir zwar ALLE Leds, aber nach einer Zeit gehen sie wieder aus, OHNE das ich was mache! ,255 setze (Alle Datenleitungen auf high(+5V)), leuchten bei mir zwar ALLE Leds, aber nach einer Zeit gehen sie wieder aus, OHNE das ich was mache!
 Also ich hab für jede Datenleitung (0-7) eine Led, und die leuchten auf Kommando alle.
 Nur nach zufälliger Zeit leuchtet auf einmal nur noch die 3. Led (Port ist statt 255 auf einmal auf 32)
 Ich habe mir gedacht, dass vielleicht irgendein anderes Programm auf den port zugreift, aber welches?
 Ich habe ihn noch nie benutzt!
 Könnt ihr mir helfen?
 Mfg,
 ShadowPhoenix
 
 
 
 
 
 
 
- 
	
	
		
			
			
				Erfahrener Benutzer
			
			
				Roboter-Spezialist
			
			
			
			 
			
				
 
					    
				 
 
			
				
				
						
						
				
					
						
							Ich weiss es nicht,
 aber ich könnte mir schon vorstellen, dass Windows den LPT selbst überwacht, und Du umgehst ja mit Deiner Port-Ausgabe das System vermutlich völlig. Warum dann ausgerechnet genau der 3. Port ON ist, kann ich mir nicht erklären (32 = HEX 20 = SPACE ?).
 
 Ansonsten:
 
 Die LPT kann man bidirektional oder konventionell (nur OUT) betreiben; versuch mal, auf "nicht bidirektional" einzustellen; dann machts für Windows weniger Sinn, da was zu überwachen.
 
 Vielleicht ist's auch der Spooler: Nimm mal den "Default Drucker" von Deinem LPT weg.
 
 
 
 
 
 
 
- 
	
	
		
			
			
				Erfahrener Benutzer
			
			
				Roboter Experte
			
			
			
			 
			
				
 
					    
				 
 
			
				
				
						
						
				
					
						
							Danke, ich bin mal in den BIOS-Optionen auf LPT gegangen.
 Dort gab es EPP, ECP, Bidirektional und noch was...
 Ich hab mal EPP genommen, seit dem lässt Windows meinen port in Ruhe  
 Danke, jetzt kann ich endlich was damit steuern!
 Mfg,
 ShadowPhoenix
 
 
 
 
 
 
 
- 
	
	
		
			
			
				Erfahrener Benutzer
			
			
				Roboter-Spezialist
			
			
			
			 
			
				
 
					    
				 
 
			
				
				
						
						
				
					
						
							@ ShadowPhoenix:
 Welches Betriebssystem hast du? Und wo hast du die IO.dll her?
 Ich steuer den LPT port mit einer ocx an
 
 mfg God
 
 
 
 
 
 
 
- 
	
	
		
			
			
				Erfahrener Benutzer
			
			
				Roboter-Spezialist
			
			
			
			 
			
				
 
					    
				 
 
			
				
				
						
						
				
					
						
							@ ShadowPhoenix:
 Welches Betriebssystem hast du? Und wo hast du die IO.dll her?
 Ich steuer den LPT port mit einer ocx an
 
 mfg God
 
 
 
 
 
 
 
- 
	
	
		
			
			
				Erfahrener Benutzer
			
			
				Roboter Experte
			
			
			
			 
			
				
 
					    
				 
 
			
				
				
						
						
				
					
						
							Ich habe WindowsXP.
 Die IO.DLL habe ich von dieser Seite:
 http://www.geekhideout.com/iodll.shtml
 Mfg,
 ShadowPhoenix
 
 Und hier die FunktionsPrototypen der DLL:
 
 Private Declare Sub PortOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Byte)
 Private Declare Sub PortWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Integer)
 Private Declare Sub PortDWordOut Lib "IO.DLL" (ByVal Port As Integer, ByVal Data As Long)
 Private Declare Function PortIn Lib "IO.DLL" (ByVal Port As Integer) As Byte
 Private Declare Function PortWordIn Lib "IO.DLL" (ByVal Port As Integer) As Integer
 Private Declare Function PortDWordIn Lib "IO.DLL" (ByVal Port As Integer) As Long
 Private Declare Sub SetPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)
 Private Declare Sub ClrPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)
 Private Declare Sub NotPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte)
 Private Declare Function GetPortBit Lib "IO.DLL" (ByVal Port As Integer, ByVal Bit As Byte) As Boolean
 Private Declare Function RightPortShift Lib "IO.DLL" (ByVal Port As Integer, ByVal Val As Boolean) As Boolean
 Private Declare Function LeftPortShift Lib "IO.DLL" (ByVal Port As Integer, ByVal Val As Boolean) As Boolean
 Private Declare Function IsDriverInstalled Lib "IO.DLL" As Boolean
 
 
 
 
 
 
 
- 
	
	
		
			
			
				Erfahrener Benutzer
			
			
				Roboter-Spezialist
			
			
			
			 
			
				
 
					    
				 
 
			
				
				
						
						
							
 
					
						
							Danke,
 damit ist das einfacher als mit der ocx
 
 mfg God
 
 
 
 
 
 
 
 
	
	
	
	
	
	
	
	
	
	
	
	
		
		
		
		
			
				 Berechtigungen
				Berechtigungen
			
			
				
	
		- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-  
Foren-Regeln
 
			 
		 
	 
 
  
 
  
 
Lesezeichen