CN106585115B - 一种只使用一个硬件定时器实现热敏打印机驱动的方法 - Google Patents
一种只使用一个硬件定时器实现热敏打印机驱动的方法 Download PDFInfo
- Publication number
- CN106585115B CN106585115B CN201611227846.4A CN201611227846A CN106585115B CN 106585115 B CN106585115 B CN 106585115B CN 201611227846 A CN201611227846 A CN 201611227846A CN 106585115 B CN106585115 B CN 106585115B
- Authority
- CN
- China
- Prior art keywords
- paper feed
- feed motor
- time
- processing method
- interruption processing
- 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.)
- Active
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/315—Typewriters 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/32—Typewriters 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J29/00—Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
- B41J29/38—Drives, 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,增加进纸马达步数,判断当前进纸马达步数是否大于等于进纸马达最大步数,如果是,则打印结束,关闭加热头后再关闭定时器,完成中断处理方法;如果否,则设置更新加热头和进纸马达参数的标识后,完成中断处理方法。
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 CN106585115A (zh) | 2017-04-26 |
CN106585115B true 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) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107962874B (zh) * | 2017-11-29 | 2020-06-30 | 艾体威尔电子技术(北京)有限公司 | 一种提高热敏打印机驱动程序可靠性的方法 |
CN109484046B (zh) * | 2018-10-15 | 2020-08-11 | 广东宝莱特医用科技股份有限公司 | 一种打印控制方法、控制系统及打印设备 |
CN109605944A (zh) * | 2018-12-07 | 2019-04-12 | 艾体威尔电子技术(北京)有限公司 | 一种pos机中热敏打印机的驱动方法 |
CN109849536B (zh) * | 2019-01-31 | 2022-01-28 | 厦门汉印电子技术有限公司 | 一种马达相位方法、装置、存储介质和打印机 |
CN110466260B (zh) * | 2019-07-23 | 2021-08-06 | 厦门汉印电子技术有限公司 | 打印过程中的加热控制方法、装置、打印机及存储介质 |
CN111070908B (zh) * | 2019-12-26 | 2020-12-01 | 厦门汉印电子技术有限公司 | 直印式的证卡打印方法、装置、证卡打印机及存储介质 |
CN111221480B (zh) * | 2020-01-10 | 2023-06-27 | 珠海趣印科技有限公司 | 一种打印数据处理方法及系统 |
CN114872469B (zh) * | 2022-04-07 | 2023-11-21 | 厦门汉印电子技术有限公司 | 一种打印方法、装置、打印设备及存储介质 |
CN115534544A (zh) * | 2022-10-10 | 2022-12-30 | 百富计算机技术(深圳)有限公司 | 热敏打印机的打印方法、打印机、打印系统及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5386772A (en) * | 1993-06-15 | 1995-02-07 | Datametrics Corporation | High speed media management device |
JP3483890B2 (ja) * | 1994-10-06 | 2004-01-06 | ローム株式会社 | プリンタ用駆動icおよびそれを用いたプリントヘッド |
CN1644384A (zh) * | 2004-11-05 | 2005-07-27 | 季节 | 热敏打印机头加热时间的控制方法及装置 |
JP2012187776A (ja) * | 2011-03-10 | 2012-10-04 | Canon Inc | 情報処理装置 |
CN103192609B (zh) * | 2012-01-10 | 2015-07-29 | 山东新北洋信息技术股份有限公司 | 热敏打印机及热敏打印机的控制方法 |
CN104608503A (zh) * | 2014-12-22 | 2015-05-13 | 合肥彩象信息科技有限公司 | 一种彩票打印机 |
-
2016
- 2016-12-27 CN CN201611227846.4A patent/CN106585115B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106585115A (zh) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106585115B (zh) | 一种只使用一个硬件定时器实现热敏打印机驱动的方法 | |
CN105683843B (zh) | 经由定时质询响应的供给认证 | |
WO2004078270A3 (en) | System and method for controlling an exercise apparatus | |
JP6489431B2 (ja) | サーマルプリンタ、制御方法及びプログラム | |
CN105984241A (zh) | 热敏打印机及热敏打印方法 | |
JP2015009474A5 (zh) | ||
EP3533613A3 (en) | Thermal printer and method for controlling the same | |
US8035672B2 (en) | Printing apparatus | |
JP2018144447A5 (zh) | ||
CN105812607A (zh) | 图像处理设备和图像处理方法 | |
JP2016083792A5 (zh) | ||
CA2578902A1 (en) | Method for quality improvement of printing with a thermotransfer print head and arrangement for implementation of the method | |
US9573362B2 (en) | Ink jet head and ink jet printer | |
JP2016068289A (ja) | サーマルプリンタ | |
CN101602297A (zh) | 打印机以及脉冲电机的控制方法 | |
JP2012198748A5 (zh) | ||
JP2004264903A5 (zh) | ||
US20210072929A1 (en) | Information processing device, image forming system, and non-transitory computer readable medium storing a program | |
CN104553375A (zh) | 打印控制方法、装置及系统 | |
US11001079B2 (en) | Thermal printer and computer-readable storage medium | |
JP6874347B2 (ja) | 印刷装置 | |
JP5693244B2 (ja) | 印字装置、印字方法 | |
CN107962874A (zh) | 一种提高热敏打印机驱动程序可靠性的方法 | |
JPS5857978A (ja) | サ−マルプリンタ | |
JPH06115139A (ja) | サーマルプリンタ制御方法 |
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 |