打印

关于单片机驱动ESC/P2指令的USB喷墨打印机图像打印

[复制链接]
9032|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qingheworkshop|  楼主 | 2008-5-25 07:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我已经使使用单片机驱动USB接口的爱普生喷打ME1+打印出字符,但是,无论如何也打不出光栅图形,每个光栅打印的命令都试过了,仍然不行。有没有哪位做过ESC/P2指令的喷打控制,能否指导一下。
另外,EPSON的喷打的Pocket模式是什么意思,如果不退出Poket模式,字符也打印不了。我照搬了别人的一段初始化代码,可以使打印机打出字符,但是对所有的图形打印命令不响应。我猜想是现在的喷墨打印机已经扩展了ESC/P2的指令,原有的ESC/P2指令(1997年版)已经不能满足需要。有没人做过这方面的驱动,能指点一下,或是提供一下ME1+喷打的编程手册之类的关键文件。
我在EPSON开发网上提交了信息,也没人回复,打电话了也没人搭理,用个EPSON还真不爽。

相关帖子

沙发
luomh98| | 2008-5-25 21:59 | 只看该作者

re:

用ESC/P2指令可以打出光栅图形来,但分辨率较低
普通用户要实现高分辨率图形打印好象很难,EPSON不会公开这方面的技术文档

使用特权

评论回复
板凳
qingheworkshop|  楼主 | 2008-5-26 16:05 | 只看该作者

luomh98,我已经试过所有图形打印模式,均不能打印。

luomh98,您好像做过这方面的东西,我已经试过用所有的光栅图形模式,RLE,TIFF,Delta ROW模式都试过了,压缩的,不压缩的,打印机只换页,不打印。我以前做过针打的,直接使用位图的打印命令,可以很容易打印出图形,但现在驱动喷打,感觉资料不全,摸索很难。
今天EPSON回电了,说Me喷打属于家用机,不能提供开发技术支持。如果用相关的商业机,到开发网上提交资料,他们审核后才能提供资料。我早就提交了,也没人打理。难道非要使用喷墨的POS机才肯提供资料啊?

使用特权

评论回复
地板
mr.king| | 2008-5-26 20:07 | 只看该作者

ESC/PK2我只试过并口光栅方式驱动针打,另外

另外在一个ESC/PK2支持并口的老式喷打效果与针打一样(180DPI),高分辨方式没做过

使用特权

评论回复
5
mr.king| | 2008-5-26 20:17 | 只看该作者

SORRY,现在不能肯定当时是否用的是光栅方式,也许不是

使用特权

评论回复
6
mr.king| | 2008-5-26 20:57 | 只看该作者

查了下,确实是图像方式,不是光栅

从EPSON提供的程序设计指南中第14章关于光栅打印命令看,参数设置确实比较复杂,我所看到最大分辨支持702*720(1994年版本)

使用特权

评论回复
7
kent_gwk| | 2008-5-27 09:00 | 只看该作者

打印命令不是主要的问题

驱动低档的喷墨打印机,主要问题不是控制命令,而是打印数据从RGB转换到CMYK墨滴数据,这个纯软件算法的过程,如果你对方面的问题还没有了解过的话,那你需要面对的问题还有很多.

使用特权

评论回复
8
qingheworkshop|  楼主 | 2008-5-27 09:52 | 只看该作者

我想我只要能够驱动打印机打出一段单色曲线就行

我想我只要能够驱动打印机打出一段单色曲线就行,剩下的工作只是时间问题了。可是关键就是,这个打印机不支持图形打印模式,我已经试过了,驱动光栅图形,现在就是指令问题,我哪怕就是打出一条单色曲线来,我也看到希望,现在就是瞎子过河,把这几条指令摆来摆去,颠过来倒过去,也不知它到底支持哪几条指令。

使用特权

评论回复
9
kent_gwk| | 2008-5-27 10:18 | 只看该作者

ME1是支持图形打印的

最关键的命令可以在gutenprint下的DOC目录下找到资料

使用特权

评论回复
10
qingheworkshop|  楼主 | 2008-5-27 10:38 | 只看该作者

谢谢Kent_gwk,不过你说的Gutenprint下的目录在哪里?驱动光盘?

使用特权

评论回复
11
qingheworkshop|  楼主 | 2008-5-27 10:49 | 只看该作者

我下载了Gutenprint,DOC目录都是驱动函数声明,找不到代码命令

我只好再试试ESC/P2的位图打印命令,试试所有的分辨率下看看能否打出1个2个点出来。

使用特权

评论回复
12
qingheworkshop|  楼主 | 2008-5-27 11:10 | 只看该作者

找到Gutenprint的ESC/P2的源码了,看的一头水雾

找到Gutenprint的ESC/P2的源码了,看的一头水雾,太复杂了,短时间是搞不定的,我也无需把驱动设计的这么复杂,仅仅用默认的状态打印几个ASCII和简单曲线即可,放弃分析别人的源码了,自己再啃啃ESC/P2的指令集吧

使用特权

评论回复
13
古道热肠| | 2008-5-27 11:41 | 只看该作者

为什么一定要用喷墨的呢

国产的映美打印机能找到替代器吗?技术支持肯定比这EPSON强。

使用特权

评论回复
14
qingheworkshop|  楼主 | 2008-5-27 11:55 | 只看该作者

最便宜的针打也可以买3个喷墨打印机了,所以针打不考虑了

使用特权

评论回复
15
nj手术刀| | 2008-5-27 12:27 | 只看该作者

光栅打印不能和字符混合打的

使用特权

评论回复
16
qingheworkshop|  楼主 | 2008-5-27 12:35 | 只看该作者

我知道的,完全按照手册的光栅图形打印的例子编写的

比如,执行微操作模式之前必须先换页等等,手册提到的,我都做了初始化,仍然不行。

使用特权

评论回复
17
qingheworkshop|  楼主 | 2008-5-27 15:42 | 只看该作者

试了位图打印模式,结果都一样

我又试了位图打印模式:ESC * m n1 n2 d1 ... dk
m值从0-73我都试了,还是不行,分辨率从60-360打印结果都一样,左上角打印一个‘X’

使用特权

评论回复
18
mr.king| | 2008-5-27 18:51 | 只看该作者

下面是我图片打印初始化参数

 writeram(0,0x12);
  writeram(1,0x1c);
  writeram(2,0x26);
  writeram(3,0x1b);
  writeram(4,0x24);
  writeram(5,0x00);
  writeram(6,0x00);
  writeram(7,0x20);
  writeram(8,0x20);
  writeram(9,0x20);
  writeram(10,0x20);
  writeram(11,0x1b);
  writeram(12,0x55);
  writeram(13,0x01);
  writeram(14,0x1b);
  writeram(15,0x2a);
  writeram(16,0x27);
  writeram(17,0xb1);
  writeram(18,0x04);

使用特权

评论回复
19
qingheworkshop|  楼主 | 2008-5-28 09:22 | 只看该作者
0

使用特权

评论回复
20
kent_gwk| | 2008-5-28 09:33 | 只看该作者

qingheworkshop 看资料要看仔细点

ESC/P2的位图打印命令在docdevelopergutenprint.pdf这个文件里的第5章,ME1的打印过程不是输出位图数据的,是直接输出墨滴数据的.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

78

帖子

0

粉丝