LPT Acknowledge Pulslänge

Gast #1074969
Lesenswert?
• ▲
▼
Hallo,

ich schreibe mir gerade einen "Druckersimulator" auf einem AVR Mega16, 
der dazu dient Daten von einem Messgerät, welches seine Daten über eine 
LPT Schnittstelle drucken kann, mitzuloggen. Der Ablauf findet nach ganz 
normaler "SPP Manier" statt; also auf STROBE warten, BUSY setzen, 
Datenleitungen lesen, BUSY löschen und auf ACK einen Impuls ausgeben. 
Die Frage ist nun: Wie lange muss der ACK Impulse sein ? Sendet der Host 
erst wieder nachdem ACK gelöscht wurde ?

Gruß
Ja mann
#1075011
Lesenswert?
• ▲
▼
Hallo,

das kann auch stark von der Laune des Programmierers abhängen.
Da es vom Timing bei Ack und Busy ohnehin mindestens 2 Varianten gab 
(Epson und der Rest der Welt), wurde z.B. bei C64-Userport-Druckroutinen 
meist nur auf das Ende von Busy gewartet und dann das nächste Byte zum 
Drucker geschickt.
Kann durchaus sein, daß das Messgerät es auch so hält, da hilft dann nur 
probieren...
Die Längen sind relativ unkritisch, das geht für heutige Verhältnisse 
alles recht geruhsam ab.

Gruß aus Berlin
Michael
Gast #1075637
Lesenswert?
• ▲
▼
>bei C64-Userport-Druckroutinen
>meist nur auf das Ende von Busy gewartet und dann das nächste Byte zum
>Drucker geschickt.

>Ack wird normalerweise nicht beachtet bzw. nur im interrupt Betrieb
>genutzt.

Danke, das war's; ich hatte durch das Erzeugen des Ack-Impulses Zeichen 
verloren, nachdem ich das entfernt hatte ging es ohne Probleme!

Für alle die das gleiche Problem haben und diesen Beitrag mit der Suche 
finden:
1
  BUSYOFF;
2
  ERROFF;
3
  SELON; //Printer online
4
  while (1)
5
  {
6
    loop_until_bit_is_clear(PINC, PC5); //Wait for STROBE
7
    BUSYON;
8
    loop_until_bit_is_set(UCSRA, UDRE);
9
    UDR = PINA;
10
    BUSYOFF;
11
  }

Vielen Dank,
Ja mann

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.