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

📄 debug.c

📁 这个是一个带有IC卡
💻 C
字号:
#include 	<stdio.h>
#include 	"config.h"

#include    "UART1.h"
#include    "I2CINT.h"
#include    "PCF8563.h"
#include    "KEY.h"
#include    "BEEP.h"
#include	"LCM.h"

#include 	"delay.h"
#include    "gprs.h"

#include	"SUM1356.h"
#include 	"AT29C040X.h"

#define __SRC
#include 	"DEBUG.h"
#undef __SRC

void lcd_debug(void)
{
	int i = 0;
	
	Lcdinit();					//液晶屏初试化
	Time0Init();				//定时器初试化
	IRQEnable();				//开启中断
	
	while(i++ < 3) {
		Lcdset();
    	delay_1s();
    	Lcdclear();					//清屏
    	delay_1s();
    }	
    
    for(i = 0; i < 4; i++) {
    	wrzw16x16_string(i,i,"上海速致电子科技",8);
    	delay_1s();
    }	
    		
	for(i = 9; i > 0; i--)
	{
		delay_500ms();
		wryw16x8s(12,2,i);	
	}
	
	while(1); 
}

void beep_debug(void)
{
	int i;
	
	beep_init();
	Time0Init();				//定时器初试化
	IRQEnable();				//开启中断
	
	for(i = 0; i < 3; i++) {
		beep();
		delay_500ms();
	}	
		
	while(1);	
}

void key_debug(void)
{
	volatile uint8 keycode = KEY_NULL;
	
	Lcdinit();					//液晶屏初试化
	beep_init();
	beep_init();
	Time0Init();				//定时器初试化
	IRQEnable();				//开启中断
	
	wryw16x8_2wei(12,2,keycode);
	while(1) {
		if((keycode = ScanKey()) != KEY_NULL) {
			beep();
			wryw16x8_2wei(12,2,keycode);
			beep();
		}
	}	
}

void flash_debug(void)
{
	int i,j;
	uint8 data[256];
	
	Lcdinit();					//液晶屏初试化
	Init_Flash();
	Time0Init();				//定时器初试化
	IRQEnable();				//开启中断
	
	for(i = 0; i < 256; i++)
		data[i] = 0xAB;
		
	wryw16x8_string(1,0,"Fill 0xAB,wait...",17);
	for(i = 0; i < 2048; i++) 
		Write_Flash((0x82000000 + i * 256), data, 256);
		
	wryw16x8_string(1,0,"Fill 0xAB,finish",16);	
	
	wryw16x8_string(1,2,"Read flash,wait...",18);
	
	for(i = 0; i < 2048; i++) {
		Read_Flash(0x82000000 + i * 256, data, 256);
		for(j = 0; j < 256; j++)
			if(data[j] != 0xAB) {
				wryw16x8_string(1,2,"Read flash failed",17);
					while(1);
			}
	}
	wryw16x8_string(1,2,"Read flash success",18);
	while(1);
}

void time_debug(void)
{
	I2C_Init(400000);
	IRQEnable();				//开启中断
	
//	WriteTimeToPCF8563();
	
	while(1) {
		ReadTimeFromPCF8563(PCF8563_RdOut_databuf);
		ChangePCF8563_BCD_to_HEX(PCF8563_RdOut_databuf);
		
		wryw16x8_2wei(0,2,20);
		wryw16x8_2wei(2,2,PCF8563_RdOut_databuf[6]);//年
		wryw16x8(4,2,"-");
		wryw16x8_2wei(5,2,PCF8563_RdOut_databuf[5]);//月
		wryw16x8(7,2,"-");
		wryw16x8_2wei(8,2,PCF8563_RdOut_databuf[3]);//日
			
		wryw16x8_2wei(0,3,PCF8563_RdOut_databuf[2]);//时
		wryw16x8(2,3,":");
		wryw16x8_2wei(3,3,PCF8563_RdOut_databuf[1]);//分
		wryw16x8(5,3,":");
		wryw16x8_2wei(6,3,PCF8563_RdOut_databuf[0]);//秒
	}

}

void uart0_debug(void)
{
	char *sendstr = "abcdefg";
	uint8 recvbuf[64];
	uint8 retlen;
	
	Lcdinit();					//液晶屏初试化
	Lcdclear();					//清屏
	UART0_Init();
	ClearRecvDataBuf();
	ClearSendDataBuf();
	Time0Init();
	IRQEnable();				//开启中断
	
	while(1) {
		//Uart0_Send_String(sendstr, 7);
		
		if((retlen = Uart0_recv_String(recvbuf, 64)) > 0)
			Uart0_Send_String(recvbuf, retlen);	
			
		//delay_1s();	
	}
}

void print_debug(void)
{
	int i = 0;
	char *string = "123456789";
	char *chinese = "中文打印测试";
	
	Lcdinit();					//液晶屏初试化
	Lcdclear();
	print_init();				//打印机初始化
	Time0Init();				//定时器初试化
	IRQEnable();				//开启中断
	
	wryw16x8_string(1,1,"Print figure 1 2 3 ...",22);
	
	while(i++ < 10)
		print_string(string, strlen(string));
	
	i = 0;
	while(i++ < 10) 
		print_chinese_string(chinese, strlen(chinese));	
	
	start_print();
	forward_cut_all(5);
	
	while(1);	
}

void sum1356_debug(void)
{
	uint8 data[16] = {0, 1 ,2 ,3 ,4 ,5 ,6, 7, 8, 9, 10 ,11, 12, 13, 14, 15};
	uint8 readbuf[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
	
	Lcdinit();					//液晶屏初试化
	Lcdclear();
	I2C_Init(300000);
	Init_SUM1356_CheckPIN();
	Time0Init();
	IRQEnable();				//开启中断
	
	while(1)
  	{
  		if(Check_SUM1356_IN_ATAN() == 0)
  		{
  			Search_SUM1356();  			
  			Write_SUM1356_Block(data,4);
  			
	  		if(Read_SUM1356_Block(readbuf,4) == 0)
	  			wrzw16x16_string(1,0, "错误", 2);
	  		else
	  			wrzw16x16_string(1,1, "正确", 2);  			
    	} 			
  		else 
  			wrzw16x16_string(1,0, "没卡", 2);
// 		delay_1s();
  		while(1);
  	}
}

void gprs_debug(void)
{
	int i;
	uint8 userid[16];
	
	Lcdinit();					//液晶屏初试化
	Lcdclear();
	UART0_Init();
	ClearRecvDataBuf();
	ClearSendDataBuf();
	
	Time0Init();
	IRQEnable();				//开启中断
	
	GPRS_Init();		
	
	wrzw16x16_string(1,3, "正确", 2);		//初始化正确完成
	wryw16x8(20, 3, "A");
	while(1) {
		if(GPRS_Get_Msg_USERID(userid) > 0) {
		//	wrzw16x16_string(6,2, "正确", 2);
		//for(i = 0; i < 16; i++)
		//	wryw16x8s(i,1,userid[i]);
		}	
	}	
}

⌨️ 快捷键说明

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