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 + -
显示快捷键?