⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 intfprnt.h

📁 基于ARM与μCOS-II的嵌入式操作系统实现针式和热敏微型打印程序.
💻 H
字号:
/*
***********************************************************
*
* Copyright(C),1994-2006,Routon Electronic Co.,Ltd.
*
* 文件名: 	intfprnt.h
*
* 内容描述: 打印模块对外头文件
*
* 文件历史:
*
* 版本号		日期			作者			说明
* 01a			2007-1-16		keyuhui		创建文件
*
**********************************************************
*/
#ifndef _INTFPRNT_H
#define _INTFPRNT_H

#ifdef __cplusplus
extern "C" {
#endif   /*__cplusplus */
/* ----------------defines-------------- */
#define		PRINTER_TYPE			(IOPIN0 & P012) /* 1 穿孔机芯、0热敏机芯 */	
#define		WHITE_PAPER					0			/* 打印纸为不定长纸 */
#define		HEAT_TIME_DEFAULT 			38			/* 默认打印加热时间 (X*100us)*/	
#define		ADJUST_TIMER_SCALE 	        2			/* 调整定时器时间粒度(x*100)us */
#define		PRNT_CHINESE				0
#define		PRNT_ARABIC				    1
#define	    PRNT_ENGLISH				2
/* ----------------defines end-------------- */

enum 
{	
	MSG_MNTN_PRINT_STATE_PRNT = 0x6000,	  /* 打印汉字库应答消息 */
	MSG_APP_STATE_PRNT,					  /* 发送打印结果消息 */
	MSG_PRNT_DATA_PRNT,					  /* 发送打印数据消息 */
	MSG_SYSC_QUIT_PRNT				      /* 回复主控模块可以断电消息 */
};

typedef __packed struct tagPrntPara
{
	UINT1 ucAppID;						  /* 业务模块应用ID */
	UINT1 ucLangFlag;					  /* 语言种类(0 中文 1阿拉伯语、2英语) */
	UINT1 ucCharOrder;					  /* 票据打印对齐方式(0左对齐、1右对齐)*/
	UINT2 usLength;					  	  /* 打印纸长度 */
	UINT2 usWidth;					      /* 打印纸宽度调节 */
	UINT1 ucPaper;					      /* 打印纸类型 */
	UINT1 ucLocalOffset;			      /* 打印起始位置 */
	UINT1 ucCutOffset;				      /* 打印切纸位置 */
	UINT1 ucLineSpace;					  /* 打印行间距 */
}PrntPara;

extern UINT1 g_ucprntHeatTime; 			  /* 热敏打印加热时间 */
extern UINT1 g_ucprntLinePrinted;		  /* 穿孔成功打印行数 */
extern UINT2 g_usTSPrintedLine;			  /* 热敏成功打印点行数 */
extern UINT1 g_ucPaperType;				  /* 0非黑标纸 1黑标纸 */
extern UINT1 g_ucprntTimerInt;			  /* 定时器中断标志位 */
extern UINT1 g_ucBatVolLower;			  /* 0 电池电压正常 1 电池电压低 */
extern UINT1 g_ucTsOccupySpiMark;	      /* 热敏占用SPI(0:无意义 1:占用期间 2:占用结束) */
extern UINT1 g_ucprntState;	    		  /* 打印机的状态 */
extern UINT2 g_usPatternCount ;  	 	  /* 坐标定位横坐标相对字模计数点 */
extern UINT1 g_ucMarkCutPaper;			  /* 热敏打印解析打印命令含走纸到打印切纸标志 
											(0 不含此命令  1含有此命令)*/
extern UINT1 g_ucPrntOrderMode;			  /* 票据打印对齐方式(0 左对齐、1右对齐)*/
extern UINT1 g_ucPrntChoiceLang;		  /* 选择打印语言标志(0 中文、1阿拉伯语、2英语)*/

/* ----------------function declarations-------------- */

/*
*********************************************************
*
* 函数名:ET_prntOpen
*
* 功  能:启用打印机设备, 业务模块在成功启用打印机设备后,
*		  才能调用ET_prntWrite函数执行打印操作;
*
* 输  入:s_ucPrntEquipState
*
* 输  出:无
*
* 返  回: = 0  启用打印机设备成功,返回标识符cFd
*		    -1	启用打印机设备失败
**********************************************************
*/
INT1 ET_prntOpen (void);

/*
***********************************************************
*
* 函数名:ET_prntClose
*
* 功  能:停用打印机设备,业务模块在调用ET_prntWrite函数执行
*		  打印操作完毕,调用此函数,释放对打印机的使用权。
*
* 输  入:无
*
* 输  出:s_ucPrntEquipState
*
* 返  回:SUCCESS   停用打印设备操作成功 
*		  FAULT		停用打印设备操作失败
*
***********************************************************
*/
INT1 ET_prntClose (INT1  cFd) ;

/*
***********************************************************
*
* 函数名:ET_prntGetState
*
* 功 能: 获取当前打印机状态信息
*
* 输 入:无
*
* 输 出:无
*
* 返 回: g_ucprntState  打印机状态(如下表所示)
*		 |7位|6位|5位|4位|3位 |2位 |1位 |0位 |	
*		 |空 |空 |空 |忙 |掉电|高温|故障|缺纸|
*			
***********************************************************
*/
UINT1  ET_prntGetState (void);

/*
****************************************************************************
*
*  函数名:prntData
*
*  功能:	实现业务模块数据解析、打印功能;支持常用打印命令集,支持相对、绝对坐
*     	    标定位打印;绝对坐标定位格式:分隔符(0xFF) | 横坐标(1字节)| 纵坐标
*			(1字节)| 打印内容 | 分隔符(0xFF) | 横坐标(1字节)| 纵坐标(1字节)
*			| 打印内容 | 。。。
*			坐标的单位均为mm
*
*  输入:无
*
*  输出:无
*
*  返回:打印机状态     
*		  |---7位---|---6位---|---5位---|---4位---|---3位---|---2位---|---1位---|---0位---|	
*		  |----空---|----空---|----空---|---忙----|---掉电--|---高温--|---故障--|---缺纸--|
*
****************************************************************************
*/

INT1 ET_prntWrite
(
	const PrntPara *_prntPara,	/* [in]打印参数指针    */
	UINT1 *_pData,		        /* [in]打印数据指针    */
	UINT2 _usLength		    	/* 待打印数据长度      */
);

/*
**************************************************
*
* 函数名:prntPrintDrInit
*
* 功  能:打印模块底层初始化函数
*
* 输  入:无
*
* 输  出:无
*
* 返  回:SUCCESS 成功
*
***************************************************
*/
INT1 prntPrintDrInit(void);
/*
**************************************************
*
* 函数名:prntFeedPaper
*
* 功  能:按键进纸函数
*
* 输  入:g_ucPrinterType 
*
* 输  出:无
*
* 返  回:无
*
**************************************************
*/
void prntFeedPaper (void);


/*
*****************************************************
*
* 函数名:prntFeedBackPaper
*
* 功  能:按键退纸函数(提供给主控界面直接调用)
*
* 输  入:g_ucPrinterType 
*
* 输  出:无
*
* 返  回:无
*
******************************************************
*/
void prntFeedBackPaper (void);

/*
**************************************************
*
* 函数名:prntTest
*
* 功  能:维护模块打印测试函数
*
* 输  入:无
*
* 输  出:无
*
* 返  回:FAULT    打印失败
*		  SUCCESS  打印成功
**************************************************
*/
INT1 prntTest
(
	UINT1 *_pData,         /* [in]待打印数据 */
	UINT1  _ucLength,	   /* 数据包长度 */
	UINT1  _ucPrinterType  /* 打印机类型(0穿孔、1热敏)*/
);

/*
**********************************************************
*
* 函数名:prntDotPrintTest
*
* 功  能:打印机测试
*
* 输  入:s_ucprntDataBuffDataIn
*		  s_ucprntTSDataBuffer
*
* 输  出:无
*
* 返  回:g_ucprntState
*
**********************************************************
*/
INT1 prntDotPrintTest
(
	UINT1 ucLanguage      /* 语言种类(0中文 1英文) */
);

/*
********************************************************
*
* 函数名:prntTSPrintTest
*
* 功  能:打印机测试
*
* 输  入:s_ucprntDataBuffDataIn
*		  s_ucprntTSDataBuffer
*
* 输  出:无
*
* 返  回:打印机状态
*
********************************************************
*/
INT1 prntTSPrintTest
(
	UINT1 ucLanguage      /* 语言种类(0中文 1英文 2阿拉伯语) */
);

/*
**************************************************
*
* 函数名:prntMain
*
* 功  能:打印模块任务主函数,主要处理消息,调用打印
*         接口函数实现打印操作
*
* 输  入:无
*
* 输  出:无
*
* 返  回:SUCCESS 成功
*
***************************************************
*/
extern void prntMainTask
(
	void * _pData /* [in] 任务参数输入*/
);

/***************************************************
*
* 函数名:bspTSTimerISTR
*
* 功  能:热敏打印机中断服务函数
*
* 输  入:g_ucprntTimerStepCnt、g_ucprntTimerHeatCnt
*
* 输  出:g_uiprntPFStepCnt、g_ucprntLinePrinted
*
* 返  回:SUCCESS----处理成功
*
*
*/
INT1 bspTSTimerISTR(void);
/*---------------------外部应用的全局变量------------------------*/
               
#ifdef __cplusplus
}
#endif  /* __cplusplus */

#endif /* __INTFCOMM_H__ */


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -