📄 printfunction.h
字号:
#include "absacc.h"
#define u8 unsigned char
#define u16 unsigned int
#define u32 unsigned long int
#define openint EA=1
#define closeint EA=0
#define openes ES=1
#define closees ES=0
u16 code PACCTime[];
u16 code PDECTime[];
u16 code ACCTime[];
u16 code DECTime[];
//走纸马达电流配
#define PaperION1 PSD_REG.DATAOUT_A|=0x40,PSD_REG.DATAOUT_A &=0x7F
#define PaperION2 PSD_REG.DATAOUT_A|=0x80,PSD_REG.DATAOUT_A &=0xBF
#define PaperION3 PSD_REG.DATAOUT_A &=0x3F
#define PaperIOFF PSD_REG.DATAOUT_A|=0xC0
//字车马达电流配制
#define CarriageION1 PSD_REG.DATAOUT_A|=0x10,PSD_REG.DATAOUT_A &=0xDF
#define CarriageION2 PSD_REG.DATAOUT_A|=0x20,PSD_REG.DATAOUT_A &=0xEF
#define CarriageION3 PSD_REG.DATAOUT_A &=0xCF
#define CarriageIOFF PSD_REG.DATAOUT_A|=0x30
//走纸马达相位定义ab:00 01 11 10
#define PaperPhase0 P47=0,P46=0
#define PaperPhase1 P47=0,P46=1
#define PaperPhase2 P47=1,P46=1
#define PaperPhase3 P47=1,P46=0
//字车马达相位定义
#define CarriagePhase0 P45=0,P44=0
#define CarriagePhase1 P45=0,P44=1
#define CarriagePhase2 P45=1,P44=1
#define CarriagePhase3 P45=1,P44=0
//传感器定义
#define PositionSensor (PSD_REG.DATAIN_A&0x01)
#define PaperSensor (PSD_REG.DATAIN_A&0x04)
//打印模式定义
#define chineseleftinterval 0x900
#define chineserightinterval 0x901
#define charrightinterval 0x902
#define forwardstep 0x903
#define backstep 0x904
#define forwardchar 0x905
#define backchar 0x906
#define charrowinterval 0x907
#define printcharcount 0x908
#define defaltcommandmark 0x90a
#define nextposition 0x90b
#define receivemark 0x90c
#define receivelength 0x90d
#define chinesemethod 0x90e
#define uartintervaltime 0x90f
#define havepapertime 0x910
//通信缓冲地址定义
#define signaladdr 0x1000 //信号变量地址
#define phasevalueaddr 0x1020//相位值地址
#define phasedirectionaddr 0x1021//相位方向地址
#define stepcountaddr 0x1022//步进数地址
//定义相位值
#define CRLP XBYTE[0x1023]
#define CLRP XBYTE[0x1024]
#define PFP XBYTE[0x1025]
#define PBP XBYTE[0x1026]
#define SDELAY XBYTE[0x1027]
//字车相位地置
//备份缓冲长度地址
#define tempbufaddr 0x1040
//行代码地址
#define rowcodeaddr 0x1050
//打印行缓冲地址
#define printrowbaseaddr 0x1080
//打印行缓冲定义
#define rowbufferaddr 0x1500
//打印缓冲定义
#define printbufferaddr 0x2000
#define printbufferlength 0x5000
//0x5000
//打印行缓冲数据地址定义
#define rowbufdataaddr 0x1600
//打印行缓冲数据长度定义
#define rowdatalength 0x348
//通信缓冲结构定义
typedef enum
{
BUSY=1,
ERR=2,
PE=3,
ACK=4
}statussignal;
typedef enum
{
HT=1,
LF=2,
CR=3,
ESCHome=4,
ESCPrintInitial=5,
ESCPaperForwardStep=6,
ESCPaperBackStep=7,
ESCPaperForwardByte=8,
ESCPaperBackByte=9,
FSEnterChinese=10,
FSExitChinese=11,
GSBlackMark=12
}commands;
//
typedef struct tempbuflength
{
u16 currentlength;
u16 length;
};
//行缓冲结构
typedef struct printrow
{
u16 printrowaddr;
u16 printrowcount;
};
//行代码结构定义
typedef struct rowcode
{
u16 addr;
u8 count;
};
//打印缓冲结构定义
typedef struct buffer
{
//u8 xdata *pbuf;
u8 pb[printbufferlength];
u16 count;
u16 length;
};
//打印行缓冲结构定义
typedef struct rowbuffer
{
u16 rowbufaddr;
u8 count;
};
//打印行缓冲数据结构定义
typedef struct rowbufdata
{
u16 count;
u8 pb[rowdatalength];
};
//字车相位结构
/*******************************************************************************
* Function Name :PrintInitial
* Description :打印机初始化
* Input :none
* Return :none
*******************************************************************************/
void PrintInitial(void);
/*******************************************************************************
* Function Name :AutoPaperIn
* Description :自动送纸
* Input :none
* Return :none
*******************************************************************************/
void AutoPaperIn(void);
/*******************************************************************************
* Function Name :ReadStatusMessage
* Description :状态信息
* Input :statussignal position
* Return :状态内容
*******************************************************************************/
u8 ReadStatusMessage(statussignal position);
/*******************************************************************************
* Function Name :NoPaperDeal
* Description :无纸处理
* Input :none
* Return :none
*******************************************************************************/
void NoPaperDeal(void);
/*******************************************************************************
* Function Name :WriteStatusMessage
* Description :写状态信息
* Input :statussignal position,u8 context
* Return :none
*******************************************************************************/
void WriteStatusMessage(statussignal position,u8 context);
/*******************************************************************************
* Function Name :ReceiveData
* Description :接收数据
* Input :none
* Return :none
*******************************************************************************/
void ReceiveData(void);
/*******************************************************************************
* Function Name :CarriageLeftToRight
* Description : 字车电机右进
* Input : u8 PhaseIn
* Return : CurrentPhase ---0~3
*******************************************************************************/
u8 CarriageLeftToRight(u8 PhaseIn);
/*******************************************************************************
* Function Name PhaseDirectionSwitch
* Description :电机相位换向切换
* Input :u8 PhaseIn
* Return :phase
*******************************************************************************/
u8 PhaseDirectionSwitch(u8 PhaseIn);
/*******************************************************************************
* Function Name :CarriageSpeedUpLeftToRight
* Description : 字车电机右加速
* Input : u8 PhaseIn
* Return : CurrentPhase ---0~3
*******************************************************************************/
void CarriageSpeedUpLeftToRight(u8 PhaseIn);
/*******************************************************************************
* Function Name :CarriageSpeedDownLeftToRight
* Description : 字车电机右减速
* Input : u8 PhaseIn
* Return : CurrentPhase ---0~3
*******************************************************************************/
void CarriageSpeedDownLeftToRight(u8 PhaseIn);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -