Forum: Mikrocontroller und Digitale Elektronik Probleme beim Drucken mit Mega 8


von Controllerbastler (Gast)


Lesenswert?

Frohes Neues Jahr an das Forum !

Ich bin gerade aus den Anfängerschwierigkeiten raus und wollte nun
damit beginnen, mal produktiv mit meinem Mega8 zu programmieren.

Ich habe mir gedacht, das ich einfach mal ein Programm schreibe, das
die Zeichen, die auf dem USART ankommen, auf 8 Datenleitungen (1 PORT)
legt und dann ein Signal z.B. für einen Drucker erzeugt.

Das Programm, das den USART Eingangspuffer auf den PORT C legt habe ich
und wenn ich mit Hyperterminal einen Buchstaben eingebe, dann leuchten
auch 8 LED am PORT C in der richtigen Kombination auf.

Nun wollte ich das ganze erweitern, das dann auch, wenn kein Busy
anliegt ein Strobe gesendet wird und ein NEC P6 Drucker (Centronics)
die Sachen dann ausgibt.

Es klappt aber nur gelegentlich. Ich habe mir dann die Spezifikationen
für die LPT-Schnittstelle gegoogled und da steht dann was von Strobe,
der max. 10 uSec lang sein darf und einem ACK-Signal vom Drucker, das
ca. 6 uSec lang ist.

Hat da jemand eine Idee, wie ich so kurze Signale mit dem Controller
auswerten / erzeugen kann ?

Wie gesagt, ich bin gerade aus den gröbsten Anfängerproblemen raus und
einen Sourcecode, den ich hier posten kann, habe ich noch nicht, weil
mein Programmierstil noch so ist, das ich nach wenigen Tagen meinen
eigenen Sourcecode nicht mehr lesen / verstehen kann (zu chaotisch).

Gibt es da eigentlich eine Seite, die beschreibt, wie man "richtig"
programmiert und den Sourcecode macht ?

von Lumpi (Gast)


Lesenswert?

Das geht am Besten mit einem guten Buch wie zB. "C für
Mikrocontroller" von Burckhard Mann.

SG Lumpi

von Hubert.G (Gast)


Lesenswert?

Vieleicht genügt fürs erste das AVR-GCC Tutorial hier auf dieser Seite
(am linken Rand)

von Christoph Kessler (Gast)


Lesenswert?

Die 6 usec sind doch lang genug, wenn der Controller sonst nichts zu tun
hat, sonst würde ich einen INT-Eingang benutzen. Die Centronics
Schnittstelle an so einer alten "singenden Säge" - ich hab auch noch
irgendwo meinen Star NL10 rumstehen - sollte eigentlich keine Probleme
machen, 8 Datenbits und drei wichtige Handshakes, der Rest "Paper
out" usw. muß nicht benutzt werden. Strobe zum Drucker, nach ACK darf
schon das nächste Byte angelegt werden und nachdem busy um ist auch der
nächste Strobe-Impuls.
73
Christoph

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.