S3C2440 USB HOST控制 HP DeskJet 1000打印机:
终于测试通过,可以使用s3c2440的usb host功能控制此打印机了。
HP DeskJet 1000打印机,采用的是PCL3 GUI打印机语言,与一般的PCL打印机语言有很大的区别;
使用原先好用的PCL命令控制此打印机,是一点结果也没有,郁闷了好长时间了!!!
现在终于测试通过了,可以控制此打印机,打印出东西来了。真是高兴啊!!!
作为嵌入式应用,可以通过usb host控制廉价的喷墨打印机了!!!
HP DeskJet 1000打印机,市面上的价格才:290元RMB左右的价格。
提供大家测试的bin文件: USART0,波特率:115200bps
USB_Host_hp1000.rar
(93.11 KB, 下载次数: 46)
2012-7-9 23:39 上传
点击文件名下载附件
请留意我原先发过的帖子:
“STM32F103ZET6+CH375+USB打印机(原理图+部分源码”
链接如下:
http://www.amobbs.com/thread-5482853-1-1.html
这样一来,就可以通过STM32F103等芯片,控制这样廉价的USB打印机了!!!
今天刚好有条件测试一下,程序没有问题,在mini2440上也可以用。打印出来的内容是“HP802黑 {MOD}墨盒加墨方法“。
选区_807.png (123.93 KB, 下载次数: 0)
下载附件
2014-1-9 23:16 上传
最近在嵌入式linux系统上搞这个打印机,还没有什么眉目,楼主用“裸机”就实现了,太值得学习了。我在linux搞出来后也分享一下。
--------------------------------------------------------------------
还真有一些进展:
gs -sDEVICE=ijs -sIjsServer=hpijs -dIjsUseOutputFD -sDeviceManufacturer="HEWLETT-PACKARD" -sDeviceModel="deskjet 5550" -r300x300 -dNOPAUSE -dSAFER -sOutputFile="/dev/usb/lp0" /root/下载/sample.ps -c quit
linux下如下命令就可以让它打印了。
- root@kangear:~# gs -sDEVICE=ijs -sIjsServer=hpijs -dIjsUseOutputFD -sDeviceManufacturer="HEWLETT-PACKARD" -sDeviceModel="deskjet 5550" -r300x300 -dNOPAUSE -dSAFER -sOutputFile="/dev/usb/lp0" /root/下载/sample.ps -c quit
- GPL Ghostscript 9.06 (2012-08-08)
- Copyright (C) 2012 Artifex Software, Inc. All rights reserved.
- This software comes with NO WARRANTY: see the file PUBLIC for details.
- Loading NimbusRomNo9L-Regu font from /usr/share/fonts/type1/gsfonts/n021003l.pfb... 2696868 1345248 2225636 924576 1 done.
- Loading NimbusRomNo9L-Medi font from /usr/share/fonts/type1/gsfonts/n021004l.pfb... 2800488 1464220 2285924 975525 1 done.
- Loading NimbusRomNo9L-ReguItal font from /usr/share/fonts/type1/gsfonts/n021023l.pfb... 2917632 1578727 2306020 1000408 1 done.
- root@kangear:~#
复制代码把测试ps文件也上传一下:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
以上是在PC上的操作,本以为hpijs会很难移植到ARM上去,结果发现很好弄。
开始一直在弄hplip,编译极为的复杂。最后发现我需要的hpijs在06年之前和hplip是分开的。05年的版本,编译起来没有什么问题。
1。下载源码http://sourceforge.net/projects/hpinkjet/files/
2。编译:
- ./configure --host=arm-linux --target=arm-linux --build=i686-linux CC=arm-linux-gcc CXX=arm-linux-g++ LD=arm-linux-ld RANLIB=arm-linux-ranlib AR=arm-linux-ar
复制代码3。make
注:中间会遇到基本的C语言的错误,具体是const char* 不能转换为char*的问题,修改了就没有问题了。
4。make install DESTDIR=/work/rootfs/rootfs_qtopia_qt4
install时会把hpijs放到/usr/local/bin/hpijs,如果PATH环境变量没有包含这个路径,可以拷贝到/bin目录下:
cp /usr/local/bin/hpijs /bin
然后与pc上同样的命令就可以打印了。
(当然ghostscript还是要移植的,这个网上的教程比较多。)
ghostccript
http://blog.csdn.net/maohuiabc/article/details/6861692
wget http://ghostscript.googlecode.com/files/ghostscript-9.04.tar.gz
tar xvzf ghostscript-9.04.tar.gz
cd ghostscript-9.04
修改STDLIBS=-lpthread-lm 为STDLIBS=-lpthread -lm-static
./configure --host=arm-linux
make XCFLAGS=-DHAVE_SYS_TIME_H=1 #Fix ./src/time_.h error redefinition of struct timeval
cp ../ghostscript-8.15-pc/obj/echogs ./obj/
(遇到:./src/time_.h:50:8: error: redefinition of 'struct timeval',添加DHAVE_SYS_TIME_H)
后续还有的问题,关于gs的字库的问题等等。
一周热门 更多>