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

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
laban12
Inlägg: 1199
Blev medlem: 17 april 2008, 16:01:56
Ort: Stockholm

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

Inlägg 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! :)
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Inlägg 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.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg 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... :-)
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg 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.
bos
Inlägg: 2314
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Inlägg 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å.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Och PCL hanterar även "ren" text, vilket är OK för en "log-writer"...
laban12
Inlägg: 1199
Blev medlem: 17 april 2008, 16:01:56
Ort: Stockholm

Inlägg 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.
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg av vfr »

Du ska nog få ett ACK (ACK-signalen på porten) också tillbaka efter varje byte om jag inte minns fel.
ragnwald
Inlägg: 165
Blev medlem: 9 mars 2006, 21:16:58
Ort: Stockholm
Kontakt:

Inlägg 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.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Inlägg av Micke_s »

B1n4ry
EF Sponsor
Inlägg: 1327
Blev medlem: 30 november 2005, 20:02:50
Ort: Borås
Kontakt:

Inlägg 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
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg 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.
laban12
Inlägg: 1199
Blev medlem: 17 april 2008, 16:01:56
Ort: Stockholm

Inlägg 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! :)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg 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...
Skriv svar