Files
TXH1.0/User/Printf/Printf.c
T

177 lines
5.2 KiB
C
Raw Normal View History

2026-04-27 16:55:02 +08:00
#include "config.h" //全局声明
/*_____ D E C L A R A T I O N ________________________________________________*/
void Print_Num(u8 GunNum,u8 Lin,u64 Num,u8 Dec)
{
volatile u8 i,j,D;
for(i = 22;i < 32;i ++)
TXHData.PrintInfo.PrintBuff[Lin][i] = 0x20;
for(i = 0;i< 16;i++)
{
if((Num>>(i*4)) == 0)
break;
}
if(i <= Dec && Dec > 0)
{
if(i == 0 )
i+=Dec;
i ++;
TXHData.PrintInfo.PrintBuff[Lin][30-i] = '0';
}
if(Dec)
{
D = 1;
TXHData.PrintInfo.PrintBuff[Lin][30- Dec] = '.';
}
for(j = 0;j < Dec; j++)
TXHData.PrintInfo.PrintBuff[Lin][30- j] = 0x30 + (((Num>>j*4)) & 0x00000000000f);
for(j = Dec+D;j < i + D; j++)
TXHData.PrintInfo.PrintBuff[Lin][30- (j+1-D)] = 0x30 + (((Num>>(j-D)*4)) & 0x00000000000f);
}
//********************************************************************************************************
//** 函数名称:print_init()
//** 函数功能:硬件初始化。
//** 入口参数:
//** 出口参数:字节数量
//*********************************************************************************************************/
uint8_t print_init(uint8_t *pData)
{
*pData++ = ESC;
*pData = 0x40;
return 2;
}
//********************************************************************************************************
//** 函数名称:printSetChinese()
//** 函数功能:设置中文打印
//** 入口参数:
//** 出口参数:字节数量
//*********************************************************************************************************/
uint8_t printChinese(uint8_t *pData)
{
*pData++ = 0X1C;
*pData++ = '&';
return 2;
}
//********************************************************************************************************
//** 函数名称:printCR()
//** 函数功能:打印当前所有,并走一行
//** 入口参数:
//** 出口参数:字节数量
//*********************************************************************************************************/
uint8_t printCR(uint8_t *pData)
{
*pData = PCR;
return 1;
}
//********************************************************************************************************
//** 函数名称:printLF()
//** 函数功能:走纸。
//** 入口参数:
//** 出口参数:字节数量
//*********************************************************************************************************/
uint8_t printLF(uint8_t *pData)
{
*pData = LF;
return 1;
}
//********************************************************************************************************
//** 函数名称:LFnRow()
//** 函数功能:执行N点行走纸。
//** 入口参数:行数
//** 出口参数:字节数量
//*********************************************************************************************************/
uint8_t LFnRow(uint8_t *pData,uint8_t row)
{
*pData++ = ESC;
*pData++ = J;
*pData = row;
return 3;
}
//********************************************************************************************************
//** 函数名称:setPageLen()
//** 函数功能:设置页长。
//** 入口参数:页长 (0表示256页)
//** 出口参数:字节数量
//*********************************************************************************************************/
uint8_t setPageLen(uint8_t *pData,uint8_t pageLen)
{
*pData++ = ESC;
*pData++ = 0x43;
*pData = pageLen;
return 3;
}
//********************************************************************************************************
//** 函数名称:setLeftSpace(uint8 spaceNumber)
//** 函数功能:设置左间距。
//** 入口参数:间距数
//** 出口参数:字节数量
//*********************************************************************************************************/
uint8_t setLeftSpace(uint8_t *pData,uint8_t spaceNumber)
{
*pData++ = ESC;
*pData++ = 0x6c;
*pData = spaceNumber;
return 3;
}
//********************************************************************************************************
//** 函数名称:setRightSpace(uint8 spaceNumber)
//** 函数功能:设置右间距。
//** 入口参数:间距数
//** 出口参数:字节数量
//*********************************************************************************************************/
uint8_t setRightSpace(uint8_t *pData,uint8_t spaceNumber)
{
*pData++ = ESC;
*pData++ = 0x51;
*pData = spaceNumber;
return 3;
}
//********************************************************************************************************
//** 函数名称:setWordSpace(uint8 wordSpace)
//** 函数功能:设置字间距。
//** 入口参数:间距数
//** 出口参数:字节数量
//*********************************************************************************************************/
uint8_t setWordSpace(uint8_t *pData, uint8_t wordSpace)
{
*pData++ = ESC;
*pData++ = 0x70;
*pData = wordSpace;
return 3;
}
//********************************************************************************************************
//** 函数名称:setRowSpace(uint8 rowSpace)
//** 函数功能:设置字间距。
//** 入口参数:间距数
//** 出口参数:字节数量
//*********************************************************************************************************/
uint8_t setRowSpace(uint8_t *pData, uint8_t rowSpace)
{
*pData++ = ESC;
*pData++ = 0x31;
*pData = rowSpace;
return 3;
}
//F*****************************************************************************
//* NAME:
//* PURPOSE:
//* PARAMS:
//* return:
//******************************************************************************