print_1.c
来自「Avr Atmeg128汽车行驶记录仪 带有USB驱动 c语言」· C语言 代码 · 共 90 行
C
90 行
#include "print_1.h"
//*************************
//*************************
//* void DelayMs(uint t)
//{
/// uint i;
// for(i =0;i<t;i++)
// _delay_loop_2( 250*FREQ );
//}
//
//void delay_1us(void) //1us延时函数
// {
// asm("nop");
// }
//*//
void Rs232_1_Init(void)
{
UBRR1H = 0;
UBRR1L = 95;
UCSR1B |=_BV(RXEN1) |_BV(TXEN1);
UCSR1A |=_BV(U2X1);
UCSR1C |=_BV(UPM11) |_BV(UPM10);
}
//
void putchar2(uchar c)
{
while(!(UCSR1A & (1<<UDRE1)))
;
UCSR1A &= ~_BV(UDRE1);
UDR1 = c;
}
//向打印机发送一个字节数据
void SendToPrinter(uchar a)
{
putchar2(a);
DelayMs(1);
// delay_1us();
}
//通过串行口发送一个字符串
//
//设置打印所采用的点阵集合
void SetPrinter(uchar dot)
{
switch (dot)
{
case 16: //16*16点阵(汉字)
{
SendToPrinter(0x1c);//(0x1b);
SendToPrinter(0x26);//(0x38);
// SendToPrinter(0);
break;
}
case 12: ////12*12点阵(汉字)
{
SendToPrinter(0x1c);//(0x1b);
SendToPrinter(0x2e);//(0x38);
// SendToPrinter(4);
break;
}
case 8: //8*16点阵(ASCII)
{
SendToPrinter(0x1b);
SendToPrinter(0x38);
SendToPrinter(6);
break;
}
case 6: //8*12点阵(ASCII)
{
SendToPrinter(0x1b);
SendToPrinter(0x38);
SendToPrinter(7);
break;
}
}
}
//
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?