📄 print.c
字号:
/*==========================================//
打印指令j为要输入的字节个数
//==========================================*/
void pr(char j,char *x)
{
char m=0,n=2;
for(m=0;m<j;m++)
{
n=2;
Printbusy=1;
while(Printbusy) Printbusy=1;
Printdata=*(x++);
Printstb=0;
while(n--);
Printstb=1;
}
}
/*==========================================//
1B 38 n 选择不同点阵汉字打印
当 n=0 选择 16 × 16 点阵汉字打印
当 n=4 选择 12 × 12 点汉字打印
当 n=5 选择 6 × 12 点阵汉字打印
当 n=6 选择 8 × 12 点阵 ASCII 字符打印
当 n=7 选择 8 × 12 点阵 ASCII 字符打印
n 的默认值为 0
//=========================================*/
void pr1616(void)
{
char pr1616data[3]={0x1b,0x38,0x00};
pr(3,pr1616data);
}
/*==========================================//
打印机打印当前缓冲器里的数据并向前走纸一行
如果缓冲器里没有数据,则只执行向前走纸一行
//==========================================*/
void lf(void)
{
char lfdata[1]={0x0a};
pr(1,lfdata);
}
/*==========================================//
横向纵向放大
在该命令之后的字符将以正常宽度和高度的 n 倍打印
n 的值建议设在 1 ~ 8 之间
上电或初始化后 n=2 ,既正常的 2 倍
//==========================================*/
void fangda(char n)
{
char fangdadata[3]={0x1b,0x57,0};
fangdadata[2]=n;
pr(3,fangdadata);
}
/*==========================================//
允许 / 禁止下划线打印
n=1 ,允许下划线打印; n=0 ,禁止下划线打印
上电或初始化后 n=0
//==========================================*/
void xiahuaxian(char n)
{
char xiahuaxiandata[3]={0x1b,0x2d,0};
xiahuaxiandata[2]=n;
pr(3,xiahuaxiandata);
}
/*==========================================//
允许 / 禁止反白打印
n=1 允许反白打印 , n=0 禁止反白打印
//==========================================*/
void fanbai(char n)
{
char fanbaidata[3]={0x1b,0x69,0};
fanbaidata[2]=n;
pr(3,fanbaidata);
}
/*==========================================//
初始化命令
⑴清除打印缓冲区。
⑵恢复默认值。
(3) 选择 16 × 16 点阵。
(4) 禁止上划线、下划线、侧划线和反白打印。
(5) 打印反向字符,打印方向(面板式):由右向左。
(6) 行间距为 3 ,字间距为 0 ,页长为 40 ,装订长为 0 。
//==========================================*/
void init(void)
{ char initdata[2]={0x1b,0x40};
pr(2,initdata);
pr1616();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -