AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Drucker ansteuern

Ein Thema von starkstrom · begonnen am 14. Feb 2008 · letzter Beitrag vom 21. Feb 2008
Antwort Antwort
starkstrom

Registriert seit: 18. Dez 2007
14 Beiträge
 
#1

Drucker ansteuern

  Alt 14. Feb 2008, 16:26
Hallo,
vorweg, nein, das ist kein "wie steuer ich den LPT an"-Thread. Ich weis wie man das macht und es funktioniert auch bei mir.
Jetzt will ich aber einen alten Drucker dazu bringen etwas zu Drucken, was mir leider nicht gelingt.
Ich mach das mit folgender reihenfolge:

*Initalisieren: INIT auf 1, darauf wieder auf 0.
*Daten anlegen: die Bit für den jeweiligen Buchstaben legen
*Strobe setzten: Strobe auf 1.
*strobe wieder wegnehmen.
*datenleitungen wieder 0 setzten...

(active low berücksichtigt, also /strobe zum setzten auf 0 etc...)

und nu? er druckt nicht.. ich hab auch nach der sequenz mal LineFeed gesetzt, aber auch dann passiert nichts.

Leider ergab googeln nicht viel, ich hoffe einer weis was zu tun ist oder/und hat vllt sowas wie ein komplettes zeitdiagramm eines ganzen druckvorgangs. oder gibt es vllt programme mit denen ich "virtuelle drucker" einrichten kann und dabei die signale lesen kann ? zum LED anschließen und zuschaun sind die nanosekunden schaltzeit n bissl schnell

vielen dank schonmal

starkstrom
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Drucker ansteuern

  Alt 14. Feb 2008, 16:58
Zitat von starkstrom:
Jetzt will ich aber einen alten Drucker dazu bringen etwas zu Drucken, was mir leider nicht gelingt.
Schon mal dran gedacht, die Schnittstelle LPT1 auf Standard SPP (also nicht ECP und/oder EPP) zu stellen (im Bios).
http://de.wikipedia.org/wiki/Standard_Parallel_Port
Wenn das nicht fruchtet, kannst du den Drucker unbesorgt ausschlachten und zum Mäusestall umbauen.
Andreas
  Mit Zitat antworten Zitat
starkstrom

Registriert seit: 18. Dez 2007
14 Beiträge
 
#3

Re: Drucker ansteuern

  Alt 14. Feb 2008, 19:11
und was ist mit der reihenfolge? init,data,strb,linefeed? man findet immer nur teile vom ganzen im internet -.-
  Mit Zitat antworten Zitat
HERMES

Registriert seit: 29. Nov 2004
142 Beiträge
 
#4

Re: Drucker ansteuern

  Alt 14. Feb 2008, 19:37
Das musst du aus der Dokumentation deines Druckers nehmen. Anstelle der Ansteurung durch dein Programm, könntest du es doch mal mit dem Generischen Textdruckertreiber von Windows versuchen.
  Mit Zitat antworten Zitat
starkstrom

Registriert seit: 18. Dez 2007
14 Beiträge
 
#5

Re: Drucker ansteuern

  Alt 14. Feb 2008, 23:10
in der documentation steht null -.-
und was genau ist der Generischen Textdruckertreiber in dem sinne anzufangen? ich würd gerne wirklich nur aus dem eigenen delphi prog raus drucken.... über eben genau diese LPT ansteuerung.
  Mit Zitat antworten Zitat
HERMES

Registriert seit: 29. Nov 2004
142 Beiträge
 
#6

Re: Drucker ansteuern

  Alt 14. Feb 2008, 23:28
Wenn du einen Druckertreiber verwendest, musst du sich nicht um den LPT kümmern, dann kanst du schon mal eine Fehlerquelle ausschließen.
Ich weis nicht ob es den Generischen Ascii Treiber noch gibt, ist aber eigentlich auch egal, stattdessen kannst du einen beliebigen Drucker nehemen, der den LPT als Anschluss hat und den im Ascii- Mode öffnen ( Code dafür gibt es glaube ich in der CodeLib - wenn nicht das Forum durchsuchen ). Dann kannst du die ASCII Befehle direkt senden. Schick zum Testen mal ein paar Buchstaben drauf.

Was für ein Drucker ist es denn?
  Mit Zitat antworten Zitat
starkstrom

Registriert seit: 18. Dez 2007
14 Beiträge
 
#7

Re: Drucker ansteuern

  Alt 15. Feb 2008, 14:38
den drucker hab ich gerade nicht im kopf..
es ist ein kleines projekt in der schule, deshalb soll es auch direkt angesteuert werden.
hier zuhause habe ich noch einen hp laserjet 5L.

ich habe mitlerweile mal ein groben ablauf gefunden.
Zitat:
Set Data Out bits
at least 0.5 uS delay
Pulse -Strobe low for at least 0.5 uS
hold Data Out for at least 0.5 uS after end of -Strobe pulse
Some time later, printer will pulse -Ack low for at least 5 uS
Printer may lower +Busy when it raises -Ack at end of pulse
das problem jetzt ist das ich mit meiner zeitprocedure nur auf minimal 1 ms komme...
ich werde mal versuchen das delay ganz wegzulassen, aber ich befürchte das der controller evtl zu schnell ist.

weiterhin ist das immernochnicht der ganze teil. denn ein laserdrucker druckt zB ja erst wenn er alle daten hat und macht das nicht so pro zeile. dh der init teil und der end teil fehlen mir leider immernoch.
  Mit Zitat antworten Zitat
HERMES

Registriert seit: 29. Nov 2004
142 Beiträge
 
#8

Re: Drucker ansteuern

  Alt 15. Feb 2008, 14:49
Für ne Schulaufgabe ist das schon etwas heftig. Du hast warscheinlich noch nicht mal eine Auflösung von 1ms, auch wenn das durch manche Funktionen suggeriert wird. Um eine bessere Timerauflösung zu bekommen musst du einen Multimedia Timer verwenden, dazu gibt hier auch genug Beispiele.
  Mit Zitat antworten Zitat
starkstrom

Registriert seit: 18. Dez 2007
14 Beiträge
 
#9

Re: Drucker ansteuern

  Alt 15. Feb 2008, 15:56
wieso heftig? alles was ich brauch ist eine genaue info über diesen beschissenen ablauf und irgendwas für die .5uS..
wobei ich den ablauf momentan am meisten brauche.. war den hier keiner mal drucker entwickler !? whahahah
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Drucker ansteuern

  Alt 21. Feb 2008, 09:20
Die 0,5 Mikrosekunden sind nur der MINIMALWERT. Es hindert Dich niemand daran, deutlich langsamer die Zeichen an den Drucker zu schicken. Windows ist eh kein RTOS, von daher kannst Du "präzises" Timing sowieso komplett vergessen. Dem Drucker ists aber auch ziemlich egal, ob Du Strobe und Co nun für eine Mikrosekunde, eine Millisekunde oder eine Minute ziehst, das einzige Resultat ist eine unterschiedliche Datenübertragungsgeschwindigkeit. That's all.
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
Antwort Antwort


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:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz