mikrocontroller.net

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


Autor: Controllerbastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Lumpi (Gast)
Datum:

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

SG Lumpi

Autor: Hubert.G (Gast)
Datum:

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

Autor: Christoph Kessler (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.