CN106585115A - 一种只使用一个硬件定时器实现热敏打印机驱动的方法 - Google Patents

一种只使用一个硬件定时器实现热敏打印机驱动的方法 Download PDF

Info

Publication number
CN106585115A
CN106585115A CN201611227846.4A CN201611227846A CN106585115A CN 106585115 A CN106585115 A CN 106585115A CN 201611227846 A CN201611227846 A CN 201611227846A CN 106585115 A CN106585115 A CN 106585115A
Authority
CN
China
Prior art keywords
paper feed
feed motor
time
heating
handling routine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201611227846.4A
Other languages
English (en)
Other versions
CN106585115B (zh
Inventor
谭有宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vanstone Electronic Beijing Co Ltd
Original Assignee
Vanstone Electronic Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vanstone Electronic Beijing Co Ltd filed Critical Vanstone Electronic Beijing Co Ltd
Priority to CN201611227846.4A priority Critical patent/CN106585115B/zh
Publication of CN106585115A publication Critical patent/CN106585115A/zh
Application granted granted Critical
Publication of CN106585115B publication Critical patent/CN106585115B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/315Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of heat to a heat sensitive printing or impression-transfer material
    • B41J2/32Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of heat to a heat sensitive printing or impression-transfer material using thermal heads
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J29/00Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
    • B41J29/38Drives, motors, controls or automatic cut-off devices for the entire printing mechanism

Landscapes

  • Electronic Switches (AREA)

Abstract

本发明公开了一种只使用一个硬件定时器实现热敏打印机驱动的方法,涉及POS机设备驱动程序领域。方法基于安装在硬件定时器中的中断处理程序实现,所述硬件定时器分别与进纸马达和加热头连接;中断处理程序:打印每个新点行数据时,计算打印新点行所需加热时间T和进纸马达相位改变时间t,同时,获取进纸马达相位改变时间t0,从t0开始依次将打印新点行所需整体时间拆分成进纸马达相位改变时间t和加热时间T两个时间段;从t0开始,驱动进纸马达行至指定位置,进纸马达行走时间段小于等于t;从加热时间头T0开始,启动加热头,加载新点行数据,打印数据;打印结束时,关闭加热头后再关闭硬件定时器。本发明提高空间的利用率,提高系统的性能。

Description

一种只使用一个硬件定时器实现热敏打印机驱动的方法
技术领域
本发明涉及POS机设备驱动程序领域,尤其涉及一种只使用一个硬件定时器实现热敏打印机驱动的方法。
背景技术
现有POS机系统在打印过程中需多个硬件定时器才能实现打印功能。其中,安装于POS机上的传统热敏打印机就至少需要两个硬件定时器,一个用来控制进纸马达,一个用来控制加热时间,硬件定时器的数量增加占用POS机内部空间,且增加POS机的体积。
发明内容
本发明的目的在于提供一种只使用一个硬件定时器实现热敏打印机驱动的方法,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明所述只使用一个硬件定时器实现热敏打印机驱动的方法,所述方法基于安装在硬件定时器中的中断处理程序实现,所述硬件定时器分别与进纸马达和加热头连接;
所述中断处理程序,具体按照下述步骤实现:打印每一个新点行数据时,计算打印新点行所需的加热时间T和进纸马达相位改变时间t,同时,获取进纸马达相位改变时间t0,从t0开始依次将打印新点行所需要的整体时间拆分成进纸马达相位改变时间t和加热时间T两个时间段;从t0开始,驱动进纸马达行至指定位置,进纸马达行走的时间段小于等于t;从加热时间头T0开始,启动加热头,加载新点行数据,打印数据;打印结束时,关闭加热头后再关闭硬件定时器。
优选地,所述中断处理程序运行之前存在以下步骤:将待打印字符串传换成点阵位图,再将点阵位图发送到内核,所述中断处理程序获取所述内核中新增的点阵位图后,启动硬件定时器。
优选地,所述进纸马达相位改变时间t大于所述加热时间T。
优选地,开启加热头和加载新点行数据两个操作发生在同一个时间段。
优选地,当中断处理程序收到打印新点行的指令时,还包括以下步骤:
S1,判断当前进纸马达步数是否小于进纸马达最大步数,如果是,则进入S2;如果否,则进入S6;
S2,判断打印头是否正处于打印状态,如果是,则进入S3,如果否,则进入S5;
S3,判断当前马达步数是否大于等于进纸马达的加速步数,如果是,则进入S4;如果否,则进入S5;
S4,检查参量是否需要更新状态,所述参量包括进纸马达的相位、加热头的开/关、是否锁定点行数据、是否加载新点行数据;
S5,检测是否改变进纸马达的相位;
S6,进入中断处理程序。
优选地,所述中断处理程序还包括以下步骤:
A1,检查是否缺纸,如果是,则待纸张补充完后,进入A4;如果否,则进入A2;
A2,检查加热温度是否符合阈值,如果是,核准打印温度后,则进入A4;如果否,则进入A3;
A3,检查电压是否符合阈值,如果是,则核准电压后,进入A4;如果否,进入A4;
A4,增加进纸马达步数,判断当前进纸马达步数是否大于等于进纸马达最大步数,如果是,则打印结束,关闭加热头后再关闭定时器,完成中断处理程序;如果否,则设置更新加热头和进纸马达参数的标识后,完成中断处理程序。
本发明的有益效果是:
本发明所述方法减少POS机中硬件定时器的数量,POS机结构内部硬件定时器腾出来空间,提高空间的利用率,提高系统的性能。腾出来的空间用于安装按键解码硬件定时器,实时响应效果好。
附图说明
图1是本发明中所述中断处理程序的流程示意图;
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
实施例
本实施例所述只使用一个硬件定时器实现热敏打印机驱动的方法,所述方法基于安装在硬件定时器中的中断处理程序实现,所述硬件定时器分别与进纸马达和加热头连接;
所述中断处理程序,具体按照下述步骤实现:打印每一个新点行数据时,计算打印新点行所需的加热时间T和进纸马达相位改变时间t,同时,获取进纸马达相位改变时间t0,从t0开始依次将打印新点行所需要的整体时间拆分成进纸马达相位改变时间t和加热时间T两个时间段;从t0开始,驱动进纸马达行至指定位置,进纸马达行走的时间段小于等于t;从加热时间头T0开始,启动加热头,加载新点行数据,打印数据;打印结束时,关闭加热头后再关闭硬件定时器。
更详细的解释说明:
(一)所述中断处理程序运行之前存在以下步骤:将待打印字符串传换成点阵位图,再将点阵位图发送到内核,所述中断处理程序获取所述内核中新增的点阵位图后,启动硬件定时器。
所述进纸马达相位改变时间t大于所述加热时间T。
开启加热头和加载新点行数据两个操作发生在同一个时间段。
(二)当中断处理程序收到打印新点行的指令时,还包括以下步骤:
S1,判断当前进纸马达步数是否小于进纸马达最大步数,如果是,则进入S2;如果否,则进入S6;
S2,判断打印头是否正处于打印状态,如果是,则进入S3,如果否,则进入S5;
S3,判断当前马达步数是否大于等于进纸马达的加速步数,如果是,则进入S4;如果否,则进入S5;
S4,检查参量是否需要更新状态,所述参量包括进纸马达的相位、加热头的开/关、是否锁定点行数据、是否加载新点行数据;
S5,检测是否改变进纸马达的相位;
S6,进入中断处理程序。
(三)所述中断处理程序还包括以下步骤:
A1,检查是否缺纸,如果是,则待纸张补充完后,进入A4;如果否,则进入A2;
A2,检查加热温度是否符合阈值,如果是,核准打印温度后,则进入A4;如果否,则进入A3;
A3,检查电压是否符合阈值,如果是,则核准电压后,进入A4;如果否,进入A4;
A4,增加进纸马达步数,判断当前进纸马达步数是否大于等于进纸马达最大步数,如果是,则打印结束,关闭加热头后再关闭定时器,完成中断处理程序;如果否,则设置更新加热头和进纸马达参数的标识后,完成中断处理程序。
本申请中热敏打印机的工作流程如下:先将待打印的字符串转换成点阵位图,再将点阵位图数据发送到内核,然后启动定时器开始打印,打印结束之后关闭定时器,唤醒进程,并将打印结果上传给相关应用。
将控制加热时间和控制进纸马达以及加载打印数据等操作放到同一个中断处理程序中,主要的副作用是加热时间的精度会降低。如本领域技术人员公知,加载一次数据到打印机内部寄存器,大概需要一百微秒,计算一次加热时间和马达相位改变时间需要几十微秒,在不仔细安排这些动作的顺序、不仔细优化相关程序段的条件下,加热时间会变得不精确,出现打印灰度不均匀的现象。而,本申请中将进纸马达控制操作、加热头控制操作和加载打印数据的操作放到同一个中断处理程序中,为了保证加热时间和马达相位改变时间的实时性,中断处理程序需在开始时就控制进纸马达并检查是否需要关闭加热头,为了实现这一点,本申请按照马达相位改变时间点t0为基础,将时间段适当拆开,保证三个操作的实时性。
本申请中每次打印一个新的点行时,先算出加热时间和马达相位改变时间,然后按这两类时间拆分时间段,硬件定时器中断按拆分之后的时间设置。其中,由于加载数据到打印头需要比较多的时间,为了保证加热时间的准确性,开关加热头和加载数据这两个动作最好放到同一个而且比较长的时间段,保证加热时间精度的关键。
普通的热敏打印机驱动程序会使用两个定时器,一个用来控制加热时间,另一个用来控制进纸马达和加载打印数据等。但有些开发平台的硬件定时器数量不足,本申请提出的热敏打印机只使用一个硬件定时器实现热敏打印机驱动的方法,可以减少系统软件的开发压力。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:
本发明所述方法减少POS机中硬件定时器的数量,POS机结构内部硬件定时器腾出来空间,提高空间的利用率,提高系统的性能。腾出来的空间用于安装按键解码硬件定时器,实时响应效果好。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。

Claims (6)

1.一种只使用一个硬件定时器实现热敏打印机驱动的方法,其特征在于,所述方法基于安装在硬件定时器中的中断处理程序实现,所述硬件定时器分别与进纸马达和加热头连接;
所述中断处理程序,具体按照下述步骤实现:打印每一个新点行数据时,计算打印新点行所需的加热时间T和进纸马达相位改变时间t,同时,获取进纸马达相位改变时间t0,从t0开始依次将打印新点行所需要的整体时间拆分成进纸马达相位改变时间t和加热时间T两个时间段;从t0开始,驱动进纸马达行至指定位置,进纸马达行走的时间段小于等于t;从加热时间头T0开始,启动加热头,加载新点行数据,打印数据;打印结束时,关闭加热头后再关闭硬件定时器。
2.根据权利要求1所述方法,其特征在于,所述中断处理程序运行之前存在以下步骤:将待打印字符串传换成点阵位图,再将点阵位图发送到内核,所述中断处理程序获取所述内核中新增的点阵位图后,启动硬件定时器。
3.根据权利要求1所述方法,其特征在于,所述进纸马达相位改变时间t大于所述加热时间T。
4.根据权利要求1所述方法,其特征在于,开启加热头和加载新点行数据两个操作发生在同一个时间段。
5.根据权利要求1所述方法,其特征在于,当中断处理程序收到打印新点行的指令时,还包括以下步骤:
S1,判断当前进纸马达步数是否小于进纸马达最大步数,如果是,则进入S2;如果否,则进入S6;
S2,判断打印头是否正处于打印状态,如果是,则进入S3,如果否,则进入S5;
S3,判断当前马达步数是否大于等于进纸马达的加速步数,如果是,则进入S4;如果否,则进入S5;
S4,检查参量是否需要更新状态,所述参量包括进纸马达的相位、加热头的开/关、是否锁定点行数据、是否加载新点行数据;
S5,检测是否改变进纸马达的相位;
S6,进入中断处理程序。
6.根据权利要求1所述方法,其特征在于,所述中断处理程序还包括以下步骤:
A1,检查是否缺纸,如果是,则待纸张补充完后,进入A4;如果否,则进入A2;
A2,检查加热温度是否符合阈值,如果是,核准打印温度后,则进入A4;如果否,则进入A3;
A3,检查电压是否符合阈值,如果是,则核准电压后,进入A4;如果否,进入A4;
A4,增加进纸马达步数,判断当前进纸马达步数是否大于等于进纸马达最大步数,如果是,则打印结束,关闭加热头后再关闭定时器,完成中断处理程序;如果否,则设置更新加热头和进纸马达参数的标识后,完成中断处理程序。
CN201611227846.4A 2016-12-27 2016-12-27 一种只使用一个硬件定时器实现热敏打印机驱动的方法 Active CN106585115B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611227846.4A CN106585115B (zh) 2016-12-27 2016-12-27 一种只使用一个硬件定时器实现热敏打印机驱动的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611227846.4A CN106585115B (zh) 2016-12-27 2016-12-27 一种只使用一个硬件定时器实现热敏打印机驱动的方法

Publications (2)

Publication Number Publication Date
CN106585115A true CN106585115A (zh) 2017-04-26
CN106585115B CN106585115B (zh) 2018-01-16

Family

ID=58604436

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611227846.4A Active CN106585115B (zh) 2016-12-27 2016-12-27 一种只使用一个硬件定时器实现热敏打印机驱动的方法

Country Status (1)

Country Link
CN (1) CN106585115B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107962874A (zh) * 2017-11-29 2018-04-27 艾体威尔电子技术(北京)有限公司 一种提高热敏打印机驱动程序可靠性的方法
CN109484046A (zh) * 2018-10-15 2019-03-19 广东宝莱特医用科技股份有限公司 一种打印控制方法、控制系统及打印设备
CN109605944A (zh) * 2018-12-07 2019-04-12 艾体威尔电子技术(北京)有限公司 一种pos机中热敏打印机的驱动方法
CN109849536A (zh) * 2019-01-31 2019-06-07 厦门汉印电子技术有限公司 一种马达相位方法、装置、存储介质和打印机
CN110466260A (zh) * 2019-07-23 2019-11-19 厦门汉印电子技术有限公司 打印过程中的加热控制方法、装置、打印机及存储介质
CN111070908A (zh) * 2019-12-26 2020-04-28 厦门汉印电子技术有限公司 直印式的证卡打印方法、装置、证卡打印机及存储介质
CN111221480A (zh) * 2020-01-10 2020-06-02 珠海趣印科技有限公司 一种打印数据处理方法及系统
CN114872469A (zh) * 2022-04-07 2022-08-09 厦门汉印电子技术有限公司 一种打印方法、装置、打印设备及存储介质
WO2024078095A1 (zh) * 2022-10-10 2024-04-18 百富计算机技术(深圳)有限公司 热敏打印机的打印方法、打印机、打印系统及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1136791A (zh) * 1994-10-06 1996-11-27 罗姆股份有限公司 印刷机用驱动ic和使用它的印刷头
JPH09501362A (ja) * 1993-06-15 1997-02-10 データメトリックス コーポレイション 高速媒体制御装置
CN1644384A (zh) * 2004-11-05 2005-07-27 季节 热敏打印机头加热时间的控制方法及装置
JP2012187776A (ja) * 2011-03-10 2012-10-04 Canon Inc 情報処理装置
CN103192609A (zh) * 2012-01-10 2013-07-10 山东新北洋信息技术股份有限公司 热敏打印机及热敏打印机的控制方法
CN104608503A (zh) * 2014-12-22 2015-05-13 合肥彩象信息科技有限公司 一种彩票打印机

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09501362A (ja) * 1993-06-15 1997-02-10 データメトリックス コーポレイション 高速媒体制御装置
CN1136791A (zh) * 1994-10-06 1996-11-27 罗姆股份有限公司 印刷机用驱动ic和使用它的印刷头
CN1644384A (zh) * 2004-11-05 2005-07-27 季节 热敏打印机头加热时间的控制方法及装置
JP2012187776A (ja) * 2011-03-10 2012-10-04 Canon Inc 情報処理装置
CN103192609A (zh) * 2012-01-10 2013-07-10 山东新北洋信息技术股份有限公司 热敏打印机及热敏打印机的控制方法
CN104608503A (zh) * 2014-12-22 2015-05-13 合肥彩象信息科技有限公司 一种彩票打印机

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107962874A (zh) * 2017-11-29 2018-04-27 艾体威尔电子技术(北京)有限公司 一种提高热敏打印机驱动程序可靠性的方法
CN109484046B (zh) * 2018-10-15 2020-08-11 广东宝莱特医用科技股份有限公司 一种打印控制方法、控制系统及打印设备
CN109484046A (zh) * 2018-10-15 2019-03-19 广东宝莱特医用科技股份有限公司 一种打印控制方法、控制系统及打印设备
CN109605944A (zh) * 2018-12-07 2019-04-12 艾体威尔电子技术(北京)有限公司 一种pos机中热敏打印机的驱动方法
CN109849536A (zh) * 2019-01-31 2019-06-07 厦门汉印电子技术有限公司 一种马达相位方法、装置、存储介质和打印机
CN109849536B (zh) * 2019-01-31 2022-01-28 厦门汉印电子技术有限公司 一种马达相位方法、装置、存储介质和打印机
CN110466260B (zh) * 2019-07-23 2021-08-06 厦门汉印电子技术有限公司 打印过程中的加热控制方法、装置、打印机及存储介质
CN110466260A (zh) * 2019-07-23 2019-11-19 厦门汉印电子技术有限公司 打印过程中的加热控制方法、装置、打印机及存储介质
CN111070908B (zh) * 2019-12-26 2020-12-01 厦门汉印电子技术有限公司 直印式的证卡打印方法、装置、证卡打印机及存储介质
CN111070908A (zh) * 2019-12-26 2020-04-28 厦门汉印电子技术有限公司 直印式的证卡打印方法、装置、证卡打印机及存储介质
CN111221480A (zh) * 2020-01-10 2020-06-02 珠海趣印科技有限公司 一种打印数据处理方法及系统
CN114872469A (zh) * 2022-04-07 2022-08-09 厦门汉印电子技术有限公司 一种打印方法、装置、打印设备及存储介质
CN114872469B (zh) * 2022-04-07 2023-11-21 厦门汉印电子技术有限公司 一种打印方法、装置、打印设备及存储介质
WO2024078095A1 (zh) * 2022-10-10 2024-04-18 百富计算机技术(深圳)有限公司 热敏打印机的打印方法、打印机、打印系统及存储介质

Also Published As

Publication number Publication date
CN106585115B (zh) 2018-01-16

Similar Documents

Publication Publication Date Title
CN106585115A (zh) 一种只使用一个硬件定时器实现热敏打印机驱动的方法
WO2008081976A3 (ja) 印刷管理サーバおよび印刷管理方法およびプログラムおよび記録媒体
WO2004078270A3 (en) System and method for controlling an exercise apparatus
JP2016026922A5 (zh)
CN101602291A (zh) 印刷设备
WO2002084469A3 (en) Arrangement for reducing power in a networking device
CN101499755A (zh) 一种直流电机速度pid控制系统及其控制方法
CN101980178B (zh) 微型热敏打印机驱动器的时序控制方法
EP2133208A2 (en) Printing apparatus
CN113829769B (zh) 一种蓝牙打印机的印字速度优化方法及其装置
EP1329321A3 (en) Printing system
CN103279146A (zh) 基于pid控制的升温方法以及系统
CN107650998A (zh) 方向盘加热方法及装置
JP2018144447A5 (zh)
EP3533613A3 (en) Thermal printer and method for controlling the same
CN104620229B (zh) 存储器控制装置、便携终端
CN101602297A (zh) 打印机以及脉冲电机的控制方法
JP2004264903A5 (zh)
US5412405A (en) Line thermal printer having power supply capacity matched to number of printing dots
JP2012198748A5 (zh)
JP2016068289A (ja) サーマルプリンタ
CN103802496A (zh) 一种调整数码印刷系统走纸速度的方法及装置
JP6874347B2 (ja) 印刷装置
JPS60120072A (ja) 印字制御装置
CN108008731A (zh) 无人机的遥控器、无人机和无人机系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant