Sida 1 av 1

uC -> printer, någon som gjort det?

Postat: 18 april 2008, 10:38:24
av laban12
Jag har funderat på att koppla en AVR till en skrivare. Inte för att jag har någon speciell användning för det utan bara för att testa.

Men jag har efter mödosamt googlande inte hittat någon vettig info om centronics-interfacet. I alla fall inte tillräckligt vettig för att jag ska kunna göra något användbart av det.

För jag tänkte mig centronics, USB är överkurs i det här fallet.

Om man har en localt ansluten skrivare så kan man ju enkelt eka output från kommandopromten till skrivarporten, så så mycket overhead kan inte en skrivare behöva bara för att printa ut enkla tecken.

Någon som vet hur man pratar med skrivaren, vilka pinnar i skrivarporten man måste manipulera!?

Det kanske kan bli en loggskrivare eller nått... jag vet inte, mest nyfiken! :)

Postat: 18 april 2008, 10:44:50
av Micke_s
Är inte hur man skriver ut specifikt för varje modell.
(annars så hade inte skrivardrivrutiner behövs).

Har för mig att det brukar finnas något text läge som alla skrivare sväljer.

Postat: 18 april 2008, 10:48:57
av sodjan
De flesta skrivare med ett parr-interface borde kunna hantara
ren ASCII. Bara att lägga ut på data-pinnarna och fippla med
status-pinnarna. I princip... :-)

Postat: 18 april 2008, 10:58:20
av vfr
Jovisst är det så! Har för mig att man lägger ut datan på bussen och sedan pulsar strobe. Är "busy"-pinnen satt så får man vänta. Borde inte vara svårt att googla fram info om detta.

Postat: 18 april 2008, 10:59:53
av bos
Så som jag har fattat det finns det idag två generella "språk" som skrivare använder sig av: Postscript och PCL (printer control language). Postscript är ganska komplext, men PCL kan kanske vara en början för dig. Iallafall om du är ute efter att skriva/rita saker med skrivaren (vilket jag tolkar som att du är) och inte pilla på skrivarna på hårvarunivå.

Postat: 18 april 2008, 11:09:08
av sodjan
Och PCL hanterar även "ren" text, vilket är OK för en "log-writer"...

Postat: 18 april 2008, 13:00:03
av laban12
Precis exakt!
Jag tänkte bara få den att spotta ur ASCII-text och det vill jag tro att ALLA skrivare klarar utan drivrutiner.
Det klart att jag kan testa att lägga asciidata på databussen och toggla strobe eller så... men jag tänkte att någon kanske hade gjort det, eller hittat info om hur det går till.
Får väl labba lite i helgen och se om jag får ut något.
Det jag misstänker är att skrivaren vill ha lite mer än bara "tecken" /strobe "tecken" /strobe... etc. utan lite kontrollsignaler först.
Men innnan jag prövat vet jag inte.

Postat: 18 april 2008, 13:03:52
av vfr
Du ska nog få ett ACK (ACK-signalen på porten) också tillbaka efter varje byte om jag inte minns fel.

Postat: 18 april 2008, 13:23:34
av ragnwald
Jag tror det räcker fint att bara lägga en byte och strobea. I linux kan man skriva ut ett tecken genom att bara köra "echo H > /dev/parport", och det är ju bara ren utmatning.

Postat: 18 april 2008, 13:31:48
av Micke_s

Postat: 18 april 2008, 14:39:09
av B1n4ry
Just detta har jag gjort vid flera tillfällen...

Är det en enkel matrisskrivare så är det bara att lägga ut ascii-värdet för ett tecken och sedan stroba. Upprepa för hela raden och sedan skickar du radmatning som oftast är ascii(13) + ascii(10)
Är det en laser så funkar oftast samma sak men då måste du fylla en sida innan den kommer ut eller skicka ascii för EOT (End of text) eller någon sådant.

Bläckstråle är väl oftat tillkrånglade med PCL eller egna protokoll och USB och så skit...

Edit: Glömde säga att matrisskrivare sällan snackar PCL / Postscript utan oftast något av EPSONs protokoll... = ren text rakt av och lite ESC kommandon för grafik och andra finesser...

//B1N4RY

Postat: 18 april 2008, 16:25:53
av sodjan
> eller skicka ascii för EOT (End of text)

FF

> Glömde säga att matrisskrivare ... utan oftast något av EPSONs protokoll...

Epson och/eller IBM Proprinter är nog vanligast.

Postat: 18 april 2008, 16:39:33
av laban12
Fast matrisskrivare är ju skitsvåra att få tag på medan alla har en bläckstråle hemma, så det är ju att föredra! :)

Postat: 18 april 2008, 16:42:54
av sodjan
De flesta (moderna och billiga) bläckstråleskrivare har inget standardinterface.
MYcket av "jobbet" görs av drivrutinen. Om du vill köra ren text så är det
nog en matrix eller laser (äldre eller dyrare laser) som gäller. De billigaste och
nya laserskrivarna är också beroende på drivrutiner för att fungera...