⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 工程模板 使用非常方便适用初学者 敬请下载
💻 C
📖 第 1 页 / 共 2 页
字号:
		buffer[13]|=((Font_Buf[3]&0x01)?1:0)<<6;
		buffer[13]|=((Font_Buf[6]&0x40)?1:0)<<5;
		buffer[13]|=((Font_Buf[8]&010)?1:0)<<4;
		buffer[13]|=((Font_Buf[10]&0x04)?1:0)<<3;
		buffer[13]|=((Font_Buf[12]&0x01)?1:0)<<2;
		buffer[13]|=((Font_Buf[15]&0x80)?1:0)<<1;
		buffer[13]|=(Font_Buf[17]&0x10)?1:0;

		buffer[14]|=((Font_Buf[1]&0x02)?1:0)<<7;
		buffer[14]|=((Font_Buf[4]&0x80)?1:0)<<6;
		buffer[14]|=((Font_Buf[6]&0x20)?1:0)<<5;
		buffer[14]|=((Font_Buf[8]&0x08)?1:0)<<4;
		buffer[14]|=((Font_Buf[10]&0x02)?1:0)<<3;
		buffer[14]|=((Font_Buf[13]&0x80)?1:0)<<2;
		buffer[14]|=((Font_Buf[15]&0x40)?1:0)<<1;
		buffer[14]|=(Font_Buf[17]&0x08)?1:0;

		buffer[15]|=((Font_Buf[1]&0x01)?1:0)<<7;
		buffer[15]|=((Font_Buf[4]&0x40)?1:0)<<6;
		buffer[15]|=((Font_Buf[6]&0x10)?1:0)<<5;
		buffer[15]|=((Font_Buf[8]&0x04)?1:0)<<4;
		buffer[15]|=((Font_Buf[10]&0x01)?1:0)<<3;
		buffer[15]|=((Font_Buf[13]&0x40)?1:0)<<2;
		buffer[15]|=((Font_Buf[15]&0x20)?1:0)<<1;
		buffer[15]|=(Font_Buf[17]&0x04)?1:0;

		buffer[16]|=((Font_Buf[2]&0x80)?1:0)<<7;
		buffer[16]|=((Font_Buf[4]&0x20)?1:0)<<6;
		buffer[16]|=((Font_Buf[6]&0x08)?1:0)<<5;
		buffer[16]|=((Font_Buf[8]&0x02)?1:0)<<4;
		buffer[16]|=((Font_Buf[11]&0x80)?1:0)<<3;
		buffer[16]|=((Font_Buf[13]&0x20)?1:0)<<2;
		buffer[16]|=((Font_Buf[15]&0x10)?1:0)<<1;
		buffer[16]|=(Font_Buf[17]&0x02)?1:0;

		buffer[17]|=((Font_Buf[2]&0x40)?1:0)<<7;
		buffer[17]|=((Font_Buf[4]&0x10)?1:0)<<6;
		buffer[17]|=((Font_Buf[6]&0x04)?1:0)<<5;
		buffer[17]|=((Font_Buf[8]&0x01)?1:0)<<4;
		buffer[17]|=((Font_Buf[11]&0x40)?1:0)<<3;
		buffer[17]|=((Font_Buf[13]&0x10)?1:0)<<2;
		buffer[17]|=((Font_Buf[15]&0x08)?1:0)<<1;
		buffer[17]|=(Font_Buf[17]&0x01)?1:0;

}

main()	
{

	char xdata str1[14];
	char xdata str2[10];
	char	Font[240];
	char	reverse_font[240];
//	gk_memset(Font,0x81,16);
//	gk_memset(reverse_font,0,8);
//	reverse_font2(Font,reverse_font);
//	mod_price=0x5555;
//	shiftR1(mod_price);	
//	mod_price>>=1;
Convert_Font();
	memset(Font,0x19,8);
	SDLC_Parse(Font,8);
	reverse_font[0]=0x12;
	reverse_font[1]=0x13;
	reverse_font[2]=0x14;
	reverse_font[3]=0x15;
	reverse_font[4]=0x16;
	reverse_font[5]=0x19;
	reverse_font[6]=0x5c;
	reverse_font[7]=0x19;
	reverse_font[8]=0x5c;
	reverse_font[9]=0x19;
	reverse_font[10]=0xb1;
	SDLC_Packet(reverse_font);



//	KEYOUT1=100;
	aaaaaaaaa.aa[1]=100;
	aaaaaaaaa.bb[1]=100;
	p=0x4000;//aaaaaaaaa;
	*p=0x10;

	(*(voidfunc)0x490)();
	for(number=0;number<65536;number++)
	{
		check_sum+=number;
	}

	gk_memset(Font,0x81,32);
	gk_memset(Font+32,0xa1,32);
	gk_memset(Font+64,0xb1,32);
	gk_memset(Font+96,0xc1,32);
	gk_memset(reverse_font,0x11,240);
	reverse_font3(Font,reverse_font);
	reverse_font3(Font+32,reverse_font+2);
	reverse_font3(Font+64,reverse_font+4);
	reverse_font3(Font+96,reverse_font+6);
//ic_update_controls(&aaaa);

//price=*(int* )hanzi_daxie[1];
//	memset(str2,0x77,10);
//	memset(str1,0x66,10);
//	aaa=str2;
//	p=str2;//(void *)aaa;
//	memcpy(str1,p,10);
//	price=1234567;
//	mod_price=price/1000000;

//recv_pro(1,1);	

	
sub_function1();
sub_function2(sub_function1);

	IE=0x00;				//disable all interrupt
	//	int number=-100;
	serial1_initialize();
	gk_timer0_initialize();		// Enable TMR0 for 10mS interrupts
	gk_timer2_initialize();		// Enable TMR2 for 10mS interrupts

	InitialFlag();

	Set24V_ON();
	Set24V_OFF();
	
//	memset(str1,0xff,10);
//	memcpy(str2,str1,10);
//	memcmp(str2,str1,10);
	gk_memset(str1,0xff,10);
	gk_memcpy(str2,str1,10);
	gk_memcmp(str2,str1,10);

//	if(	number<0)
//		number=0-number;

//	number=abs(number);
//	led1_delay=abs(led1_delay);

//	gk_memcpy(str2,Serial_Pre,10);

	system_param.parameter0=300;
	
	EA=0x01;				//enable Total interrupt

//	fp = (void (*)(void))0x00;
//	(*fp)();  //把控制权交给kernel。
	

	for(;;)
	{ 
		if(SERIAL_R_COMPLETE_1)
		{
			SERIAL_R_COMPLETE_1=0;

			if(serial_1_check_sum()==0x55)	//进行数据校验
			{
				SERIAL_R_COMPLETE_1=1;
							
			}
		}
		if(!PRINTERBUSY)
		{

		}
		else
		{

		}
		kkkkk++;
	}
}
int sub_function1()
{
	int i,j;
	if((i+j)>100)
		return 100;
	return 0;
}
int sub_function2(int k)
{
	int i,j;
	if((i+j+k)>100)
		return 100;
	return 0;
}

/*
char recv_pro(char data1,char data2)
{
	char result=0xFF;
	switch(data1)
	{
	case 0x61:
		result=0;	//成功
		break;
	case 0x90:
		result=1;
		break;
	case 0x62:
		switch(data2)
		{
		case 0x81:
			result=2;	//回送的数据可能错
			break;
		case 0x83:
			result=3;	//文件选择无效
			break;
		}
		break;
	case 0x63:
		result=4;		//可以再试
		break;
	case 0x64:
		result=5;		//状态标志为改变
		break;
	case 0x65:
		result=6;		//写eeprom未成功
		break;
	case 0x67:
		result=7;		//错误的长度
		break;
	case 0x69:
		switch(data2)
		{
		case 0x00:
			result=8;	//cla与线路保护要求不匹配
			break;
		case 0x01:
			result=9;	//无效的状态
			break;
		case 0x81:
			result=10;	//命令与文件结构不相容
			break;
		case 0x82:
			result=11;	//不满足安全状态
			break;
		case 0x83:
			result=12;	//密钥被锁死
			break;
		case 0x85:
			result=13;	//使用条件不满足
			break;
		case 0x87:
			result=14;	//无安全报文
			break;
		case 0x88:
			result=15;	//安全报文数据项不正确
			break;
		}
		break;
				
	case 0x6a:
		switch(data2)
		{
		case 0x80:		//数据域参数错误
			result=16;
			break;
		case 0x81:		//卡片已锁死
			result=17;
			break;
		case 0x82:
			result=18;	//文件不存在
			break;
		case 0x83:
			result=19;	//记录未找到
			break;
		case 0x84:
			result=20;	//空间不够
			break;
		case 0x86:
			result=21;	//参数p1 p2 错误
			break;
		}
		break;
	case 0x6B:
		result=22;		//偏移量错误
		break;
	case 0x6C:
		result=23;		//le 错误
		break;
	case 0x6E:
		result=24;		//无效的cla
		break;
	case 0x6F:
		result=25;		//数据无效
		break;
	case 0x93:
		switch(data2)
		{
		case 0x02:
			result=26;	//mac错误
			break;
		case 0x03:
			result=27;	//应用被锁死
			break;
		}
		break;		
	case 0x94:
		switch(data2)
		{
		case 0x01:
			result=28;	//金额不足
			break;
		case 0x03:
			result=29;	//密钥未找到
			break;
		case 0x06:
			result=30;	//所需的mac不可用
			break;
		}
		break;		
	}
	return result;
}

void ic_get_register_nb(IC_HEAD* pHead)
{
	if(pHead==NULL)
		return;

	pHead->cla = 0xc0;
	pHead->ins = 0xf0;
	pHead->p1 = 0x00;
	pHead->p2 = 0x00;

	return;
}
long ic_get_register_nb1(long nMode, long nCardType)
{
	IC_HEAD Head;

	char Data[256];
	char* p = Data;


	ic_get_register_nb(&Head);

	//memcpy(p, &Head, sizeof(Head));
	//p += sizeof(Head);
	*p = (unsigned char)Head.cla;
	p++;
	*p = (unsigned char)Head.ins;
	p++;
	*p = (unsigned char)Head.p1;
	p++;
	*p = (unsigned char)Head.p2;
	p++;

	*p = 0x10;
	p++;


	return 1;//TRUE;
}

void ic_terminal_register(IC_HEAD* pHead)
{
	if(pHead==NULL)
		return;

	pHead->cla = 0xc0;
	pHead->ins = 0xf1;
	pHead->p1 = 0x00;
	pHead->p2 = 0x00;

	return;
}

long ic_terminal_register1(long nMode, long nCardType, char* pData, long nLen)
{
	IC_HEAD Head;

	char Data[256];
	char* p = Data;


	ic_terminal_register(&Head);

	//memcpy(p, &Head, sizeof(Head));
	//p += sizeof(Head);
	*p = (unsigned char)Head.cla;
	p++;
	*p = (unsigned char)Head.ins;
	p++;
	*p = (unsigned char)Head.p1;
	p++;
	*p = (unsigned char)Head.p2;
	p++;

	*p = (unsigned char)nLen;
	p++;

	memcpy(p, pData, nLen);
	p += nLen;



	return 1;
}

void ic_issue_invoice(IC_HEAD* pHead)
{
	if(pHead==NULL)
		return;

	pHead->cla = 0xc0;
	pHead->ins = 0xf2;
	pHead->p1 = 0x00;
	pHead->p2 = 0x00;

	return;
}

void ic_update_controls(IC_HEAD* pHead)
{
	if(pHead==NULL)
		return;

	pHead->cla = 0xc0;
	pHead->ins = 0xf6;
	pHead->p1 = 0x00;
	pHead->p2 = 0x00;

	return;
}
*/

/*
pFont 			当前字型的首地址
reverse_font	转换后的数据首地址  8 个字节的空间
*/
//针对于 EPSON-110 打印机的数据格式
void reverse_font2(char	*pFont,char	*reverse_font)	
{
//	char	*pFont;
	char	i,j;
//	char	reverse_font[8];
//	char	Font[17];
	char	temp_Font;
//	gk_memset(Font,0x81,16);
	gk_memset(reverse_font,0,8);
	
//	pFont=Font;

	for(i=0;i<8;i++)
	{
		temp_Font=*pFont;
		for(j=0;j<8;j++)
		{
			if(temp_Font&0x80)
			{
				reverse_font[j]<<=1;
				reverse_font[j]|=1;
			}
			temp_Font<<=1;
		}
		pFont+=2;	//根据进纸的位置确定偏移量
	}	
}

/*
pFont 			当前字型的首地址
reverse_font	转换后的数据首地址  480 个字节的空间
*/
//针对于 EPSON-192 打印机的数据格式
void reverse_font3(char	*pFont,char	*reverse_font)	
{
	char	i;
//	gk_memset(reverse_font,0,8);

	for(i=0;i<16;i++)
	{
		reverse_font[30*i]=*pFont++;
		reverse_font[30*i+1]=*pFont++;//根据进纸的位置确定偏移量
	}	
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -