串口控制惠普打印机

在项目开发中,经常要使用打印机,打印出检测的结果,在本项目中使用的是惠普打印机,输出结果打印在A4纸上面。

本次使用U2P-016串口打印模块和惠普激光打印机P1106,编写了600行代码就搞定了,哈哈。先上图

程序下载地址

https://pan.baidu.com/s/1ilHuUY7zGis3m18IqwJTLQ

 

 

硬件使用的是LPC1768(串口和定时器)和U2P-016串口打印模块

软件使用的是Keil MDK

U2P-016串口打印模块可以控制惠普的很多款打印机,比如激光打印机P1106,P1108,HP1020,M101-M106,M403,M1213nf,喷墨打印机DeskJet_1110/1111/1112等。

1、可以实现画点、画线、画圆等基本操作,还可以画贝赛尔曲线;

2、实现图形填充,图片打印等功能;

3、支持汉字打印,TRUETYPE字库;

3、高速USB接口连接,打印速度快;

4、UART接口,操作简单,波特率115200bit/s;

程序流程如下

底层函数

函数名

函数说明

time_init()

定时器初始化,实现1ms定时,并产生中断

tick_add()

定时器中断中调用

get_tick_count()

获取当前的时钟

time_elapsed()

计算超时

uart_init()

串口初化,发送用阻塞模式,接收用中断方式

uart_send()

uart_printf()

串口发送字符串

 

与打印相关的函数

函数名

函数说明

int print_send_data(char *buffer,int timeout)

发送要打印的指令

输入参数buffer 要发送的指令

timeout 指令接收的超时时间

int print_get_state(char *res)

接收打印模块的应答信号

输入参数res,打印模块返回的字符串

int print_get_finish()

等待本次打印结束

 

程序在我的资源库里面

https://download.csdn.net/download/wangzdq/10786442

 

补充说明如下。

U2P-016的指令分类如下

指令分类

说明

C语言格式

C语言示例

控制指令

完成对打印机的检测和配置

"C+XXX\r\n"

"?C+PRNS\r\n ",检测打印机状态,?表示要求有应答

打印指令

与打印操作相关的设置,与打印机型号无关

"P+XXX\r\n"

"?P+STAT\r\n ",查询当前打印的进度,?表示要求有应答

文件管理指令

对指令文件和图片文件进行管理

"F+XXX\r\n"

"?F+NEWF\r\n ",新建一个指令文件,?表示要求有应答

绘图指令

完成文字的输入和图形的绘制

":XXX XXX\r\n"

"?:201 50-50-88\r\n"

画圆,中心坐标是(50,50),半径是88 ,

?表示要求有应答

 

U2P-016接收GB2312的编码,如下图

 

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值