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

📄 lcd_app.i

📁 mp3量不要让站长把时间都花费在为您修正说明上。压缩包解压时不能有密码。系统会自动删除debug和release目录
💻 I
📖 第 1 页 / 共 3 页
字号:










 
extern __declspec(__nothrow) int mbtowc(wchar_t * __restrict  ,
                   const char * __restrict  , size_t  );
   















 
extern __declspec(__nothrow) int wctomb(char *  , wchar_t  );
   













 





 
extern __declspec(__nothrow) size_t mbstowcs(wchar_t * __restrict  ,
                      const char * __restrict  , size_t  );
   














 
extern __declspec(__nothrow) size_t wcstombs(char * __restrict  ,
                      const wchar_t * __restrict  , size_t  );
   














 

extern __declspec(__nothrow) void __use_realtime_heap(void);
extern __declspec(__nothrow) void __use_realtime_division(void);
extern __declspec(__nothrow) void __use_two_region_memory(void);
extern __declspec(__nothrow) void __use_no_heap(void);
extern __declspec(__nothrow) void __use_no_heap_region(void);

extern __declspec(__nothrow) char const *__C_library_version_string(void);
extern __declspec(__nothrow) int __C_library_version_number(void);











#line 807 "C:\\Keil\\ARM\\RV31\\INC\\stdlib.h"


 
#line 10 "global.h"
#line 1 "C:\\Keil\\ARM\\RV31\\INC\\setjmp.h"
 






 

 
 






 












#line 38 "C:\\Keil\\ARM\\RV31\\INC\\setjmp.h"




typedef __int64 jmp_buf[48];     
                             
                             

extern const int __aeabi_JMP_BUF_SIZE;
              
 
 
 
 

extern __declspec(__nothrow) int setjmp(jmp_buf  );
   




 


extern __declspec(__nothrow) __declspec(__noreturn) void longjmp(jmp_buf  , int  );
   


















 











#line 101 "C:\\Keil\\ARM\\RV31\\INC\\setjmp.h"



 
#line 11 "global.h"
#line 1 "C:\\Keil\\ARM\\RV31\\INC\\rt_misc.h"







 











 
extern void _getenv_init(void);




 
extern void _clock_init(void);





 

extern void *__user_libspace(void);









 
struct __argc_argv {
    int argc;
    char **argv;
    int r2, r3;
};
extern __value_in_regs struct __argc_argv
__rt_lib_init(unsigned  , unsigned  );









 
__value_in_regs struct __argc_argv __ARM_get_argv(void * );




 
extern void __rt_lib_shutdown(void);






 
extern void __rt_exit(int  );    













 
struct __initial_stackheap {
    unsigned heap_base;                 
    unsigned stack_base;                
    unsigned heap_limit;                
    unsigned stack_limit;               
};
extern __value_in_regs struct __initial_stackheap
__user_initial_stackheap(unsigned  , unsigned  ,
                         unsigned  , unsigned  );




 
struct __heap_extent {
    unsigned base, range;
};
extern __value_in_regs struct __heap_extent
__user_heap_extent(unsigned  , unsigned  );










 
struct __stack_slop {
    unsigned always, cleanup;
};
extern __value_in_regs struct __stack_slop
__user_stack_slop(unsigned  , unsigned  );








 
extern unsigned __user_heap_extend(int  ,
                                   void **  ,
                                   unsigned  );






 
int __raise(int  , int  );






 
int __default_signal_handler(int  , int  );





 
void __rt_raise(int  , int  );





#line 12 "global.h"






						    

						    

						    

						    


#line 37 "global.h"









extern unsigned short get16(unsigned char * addr);
extern unsigned short get16_big(unsigned char * addr);
extern unsigned short get16_little(unsigned char * addr);
extern unsigned int get32(unsigned char * addr);
extern unsigned int get32_big(unsigned char * addr);

extern unsigned int get32_little(unsigned char * addr);
extern void put16(unsigned char * addr, unsigned short val);
extern void put16_big(unsigned char * addr, unsigned short val);
extern void put16_little(unsigned char * addr, unsigned short val);
extern void put32(unsigned char * addr, unsigned int val);
extern void put32_big(unsigned char * addr, unsigned int val);
extern void put32_little(unsigned char * addr, unsigned int val);
extern unsigned short swap16(unsigned short val);
extern unsigned int swap32(unsigned int val);
void dump_memory(unsigned char * addr, unsigned int length);
void soft_delay_ms(unsigned int t);



#line 84 "lcd.h"


























#line 126 "lcd.h"

extern void lcdInit(void);		 
extern void lcdClrDisBuf(void);	 
extern void lcdUpdateDisplay(void);	 
extern void OnePixel(unsigned char x,unsigned char y,unsigned char val);	 
extern unsigned char ReadPixel(unsigned char x,unsigned char y);	 
extern void lcdTest(void);	 



 
#line 22 "LCD_ASCII.h"

extern void Dis_Ascii_12_fast(unsigned short x,unsigned short y,unsigned char ch);

extern void Dis_Ascii_12(unsigned short x,unsigned short y,unsigned char ch);
extern void Dis_Ascii_16(unsigned short x,unsigned short y,unsigned char ch);

#line 22 "LCD_APP.h"
#line 1 "LCD_GBK.h"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 




#line 21 "LCD_GBK.h"

extern unsigned int FAT_Open(unsigned char * dir);
extern unsigned char (* FAT_ReadSector)(unsigned int,unsigned char *);
extern unsigned char (* FAT_WriteSector)(unsigned int,unsigned char *);

extern unsigned char GBK_Ini(void);

extern unsigned char Dis_GBK12_fast(unsigned short x,unsigned short y,unsigned char *ch);

extern unsigned char Dis_GBK12(unsigned short x,unsigned short y,unsigned char *ch);
extern unsigned char Dis_GBK16(unsigned short x,unsigned short y,unsigned char *ch);
extern unsigned char Unicode_to_GBK(unsigned char *ch);
extern unsigned char GBK_to_Unicode(unsigned char *ch);

#line 23 "LCD_APP.h"




extern unsigned char LCD_print12_fast(unsigned short x,unsigned short y,unsigned char *str);

extern void Print_ICON_12(unsigned short x,unsigned short y,unsigned char ch);   
extern void Print_ICON1_12(unsigned short x,unsigned short y,unsigned char ch);  
extern unsigned char LCD_print12_P(unsigned short x,unsigned short y,unsigned char *str);
extern unsigned char LCD_print16_P(unsigned short x,unsigned short y,unsigned char *str);
extern unsigned char LCD_print12(unsigned short x,unsigned short y,unsigned char *str);
extern unsigned char LCD_print16(unsigned short x,unsigned short y,unsigned char *str);
extern unsigned char LCD_print_unicode16(unsigned short x,unsigned short y,unsigned short *str);
extern unsigned char LCD_print_unicode12(unsigned short x,unsigned short y,unsigned short *str);

#line 20 "LCD_APP.c"
#line 1 "ICON.h"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 




enum IconTag
{
	Playing,Pause,RepetAll,RepetOne,Shuffle,Time,Music,Speaker
};

const unsigned char ICON[][24] = 
{
{0x00,0xFF,0xFE,0xFE,0xFC,0xFC,0xF8,0xF8,0x70,0x70,0x20,0x00,
0x00,0x07,0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00},
 
{0x00,0x00,0xFE,0xFE,0xFE,0x00,0x00,0xFE,0xFE,0xFE,0x00,0x00,
0x00,0x00,0x07,0x07,0x07,0x00,0x00,0x07,0x07,0x07,0x00,0x00},
 
{0x08,0x04,0x02,0x81,0xC1,0x01,0x01,0x01,0x81,0x46,0x38,0x00,
0x00,0x00,0x01,0x03,0x07,0x01,0x01,0x01,0x00,0x00,0x00,0x00},
 
{0x08,0x04,0x02,0x81,0xC1,0x09,0x7D,0x01,0x81,0x46,0x38,0x00,
0x00,0x00,0x01,0x03,0x07,0x01,0x01,0x01,0x00,0x00,0x00,0x00},
 


{0x06,0x0C,0x08,0x90,0x60,0x90,0x08,0x04,0x04,0x95,0x0E,0x04,
0x06,0x03,0x01,0x00,0x00,0x00,0x01,0x02,0x02,0x0A,0x07,0x02,},
 
{0x70,0x8C,0x02,0x02,0x01,0x39,0x21,0x22,0x22,0x8C,0x70,0x00,
0x00,0x01,0x02,0x02,0x04,0x04,0x04,0x02,0x02,0x01,0x00,0x00},
 
{0x00,0x00,0x00,0xFE,0x06,0x06,0x06,0x06,0x06,0x06,0xFE,0x00,
0x06,0x07,0x07,0x03,0x00,0x00,0x00,0x06,0x07,0x07,0x03,0x00},
 
{0x00,0xF0,0x90,0xF0,0x08,0x04,0xFE,0x00,0x64,0x08,0xF0,0x00,
0x00,0x00,0x00,0x00,0x01,0x02,0x07,0x00,0x02,0x01,0x00,0x00,}
 

};

const unsigned char ICON1[][12] = 
{
{0xF0,0x90,0xF0,0x08,0x04,0xFE,0x00,0x00,0x00,0x01,0x02,0x07,}
 
};

#line 21 "LCD_APP.c"

void Print_ICON_12(unsigned short x,unsigned short y,unsigned char ch)
{
	unsigned char i,j;
	unsigned char temp;
	for(i=0;i<12;i++)
	{
		temp = ICON[ch][i];
		for(j=0;j<8;j++)
		{
			if(temp&(1<<j))OnePixel(x+i,y+j,1);
			else OnePixel(x+i,y+j,0);
		}
	}
	for(i=0;i<12;i++)
	{
		temp = ICON[ch][i+12];
		for(j=0;j<4;j++)
		{
			if(temp&(1<<j))OnePixel(x+i,y+j+8,1);
			else OnePixel(x+i,y+j+8,0);
		}
	}
}

void Print_ICON1_12(unsigned short x,unsigned short y,unsigned char ch)
{
	unsigned char i,j;
	unsigned char temp;
	for(i=0;i<6;i++)
	{
		temp =ICON1[ch][i];
		for(j=0;j<8;j++)
		{
			if(temp&(1<<j))OnePixel(x+i,y+j,1);
			else OnePixel(x+i,y+j,0);
		}
	}
	for(i=0;i<6;i++)
	{
		temp = ICON1[ch][i+6];
		for(j=0;j<4;j++)
		{
			if(temp&(1<<j))OnePixel(x+i,y+j+8,1);
			else OnePixel(x+i,y+j+8,0);
		}
	}
}

unsigned char LCD_print12_P(unsigned short x,unsigned short y,unsigned char *str)
{
	unsigned short tempX = x,tempY = y;
	unsigned short temp;
	while(temp = *str)
	{
		if(temp == '\n')
		{
			if((84 - tempX)<6)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			else if((48 - tempY)<24)return 1;
			else 
			{
				tempX = 0;
				tempY += 12;
			}
			str ++;
		}
		else if(temp<0x20)
		{
			if((84 - tempX)<6)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			Dis_Ascii_12(tempX,tempY,0x20);
			str ++;
			tempX += 6;

		}
		else if(temp<0x80)
		{
			if((84 - tempX)<6)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			Dis_Ascii_12(tempX,tempY,temp);
			str ++;
			tempX += 6;
		}
		else
		{
			if((84 - tempX)<12)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			temp += (*(++str))<<8;
			Dis_GBK12(tempX,tempY,(unsigned char *)(&temp));
			str ++;
			tempX += 12;
		}
	}
	return 0;
}

unsigned char LCD_print12_fast(unsigned short x,unsigned short y,unsigned char *str)
{
	unsigned short tempX = x,tempY = y;
	while(*str)
	{
		if(*str == '\n')
		{
			if((84 - tempX)<6)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			else if((48 - tempY)<24)return 1;
			else 
			{
				tempX = 0;
				tempY += 12;
			}
			str ++;
		}
		else if(*str<0x20)
		{
			if((84 - tempX)<6)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			Dis_Ascii_12_fast(tempX,tempY,0x20);
			str ++;
			tempX += 6;

		}
		else if(*str<0x80)
		{
			if((84 - tempX)<6)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			Dis_Ascii_12_fast(tempX,tempY,*str);
			str ++;
			tempX += 6;
		}
		else
		{
			if((84 - tempX)<12)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			Dis_GBK12_fast(tempX,tempY,str);
			str += 2;
			tempX += 12;
		}
	}
	return 0;
}

unsigned char LCD_print12(unsigned short x,unsigned short y,unsigned char *str)
{
	unsigned short tempX = x,tempY = y;
	while(*str)
	{
		if(*str == '\n')
		{
			if((84 - tempX)<6)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			else if((48 - tempY)<24)return 1;
			else 
			{
				tempX = 0;
				tempY += 12;
			}
			str ++;
		}
		else if(*str<0x20)
		{
			if((84 - tempX)<6)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			Dis_Ascii_12(tempX,tempY,0x20);
			str ++;
			tempX += 6;

		}
		else if(*str<0x80)
		{
			if((84 - tempX)<6)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			Dis_Ascii_12(tempX,tempY,*str);
			str ++;
			tempX += 6;
		}
		else
		{
			if((84 - tempX)<12)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			Dis_GBK12(tempX,tempY,str);
			str += 2;
			tempX += 12;
		}
	}
	return 0;
}

unsigned char LCD_print16_P(unsigned short x,unsigned short y,unsigned char *str)
{
	unsigned short tempX = x,tempY = y;
	unsigned short temp;
	while(temp = *str)
	{		
		if(temp == '\n')
		{
			if((84 - tempX)<8)
			{
				tempX = 0;
				if((48 - tempY)<32)return 1;
				else tempY += 16;
			}
			else if((48 - tempY)<32)return 1;
			else 
			{
				tempX = 0;
				tempY += 16;
			}
			str ++;
		}
		else if(temp<0x20)
		{
			if((84 - tempX)<8)
			{
				tempX = 0;
				if((48 - tempY)<32)return 1;
				else tempY += 16;
			}
			Dis_Ascii_16(tempX,tempY,0x20);
			str ++;
			tempX += 8;
		}
		else if(temp<0x80)
		{
			if((84 - tempX)<8)
			{
				tempX = 0;
				if((48 - tempY)<32)return 1;
				else tempY += 16;
			}
			Dis_Ascii_16(tempX,tempY,temp);
			str ++;
			tempX += 8;
		}
		else
		{
			if((84 - tempX)<16)
			{
				tempX = 0;
				if((48 - tempY)<32)return 1;
				else tempY += 16;
			}
			temp += *(++str)<<8;
			Dis_GBK16(tempX,tempY,(unsigned char *)(&temp));
			str ++;
			tempX += 16;
		}
	}
	return 0;
}

unsigned char LCD_print16(unsigned short x,unsigned short y,unsigned char *str)
{
	unsigned short tempX = x,tempY = y;
	while(*str)
	{	
		if(*str == '\n')
		{
			if((84 - tempX)<8)
			{
				tempX = 0;
				if((48 - tempY)<32)return 1;
				else tempY += 16;
			}
			else if((48 - tempY)<32)return 1;
			else 
			{
				tempX = 0;
				tempY += 16;
			}
			str ++;
		}
		else if(*str<0x20)
		{
			if((84 - tempX)<8)
			{
				tempX = 0;
				if((48 - tempY)<32)return 1;
				else tempY += 16;
			}
			Dis_Ascii_16(tempX,tempY,0x20);
			str ++;
			tempX += 8;
		}
		else if(*str<0x80)
		{
			if((84 - tempX)<8)
			{
				tempX = 0;
				if((48 - tempY)<32)return 1;
				else tempY += 16;
			}
			Dis_Ascii_16(tempX,tempY,*str);
			str ++;
			tempX += 8;
		}
		else
		{
			if((84 - tempX)<16)
			{
				tempX = 0;
				if((48 - tempY)<32)return 1;
				else tempY += 16;
			}
			Dis_GBK16(tempX,tempY,str);
			str += 2;
			tempX += 16;
		}
	}
	return 0;
}

unsigned char LCD_print_unicode12(unsigned short x,unsigned short y,unsigned short *str)
{
	unsigned short tempX = x,tempY = y;
	unsigned short temp;
	while(*str)
	{
		if(*str == '\n')
		{
			if((84 - tempX)<6)
			{
				tempX = 0;
				if((48 - tempY)<12)return 1;
				else tempY += 12;
			}
			else if((48 - tempY)<24)return 1;
			else 
			{
				tempX = 0;
				tempY += 12;
			}
			str ++;
		}
		else if(*str<0x20)
		{
			if((84 - tempX)<6)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			Dis_Ascii_12(tempX,tempY,0x20);
			str ++;
			tempX += 6;

		}
		else if(*str<0x80)
		{
			if((84 - tempX)<6)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			Dis_Ascii_12(tempX,tempY,*str);
			str ++;
			tempX += 6;
		}
		else if(*str<0x4e00)
		{
			if((84 - tempX)<12)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			Dis_GBK12(tempX,tempY,"■");
			str ++;
			tempX += 12;

		}
		else if(*str<0x9fa6)
		{
			temp = *str;
			if((84 - tempX)<12)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			if(Unicode_to_GBK((unsigned char *)&temp))return 1;
			Dis_GBK12(tempX,tempY,(unsigned char *)&temp);
			str ++;
			tempX += 12;
		}
		else 
		{
			if((84 - tempX)<12)
			{
				tempX = 0;
				if((48 - tempY)<24)return 1;
				else tempY += 12;
			}
			Dis_GBK12(tempX,tempY,"■");
			str ++;
			tempX += 12;
		}
	}
	return 0;
}
unsigned char LCD_print_unicode16(unsigned short x,unsigned short y,unsigned short *str)
{
	unsigned short tempX = x,tempY = y;
	unsigned short temp;
	while(*str)
	{		if(*str == '\n')
		{
			if((84 - tempX)<8)
			{
				tempX = 0;
				if((48 - tempY)<32)return 1;
				else tempY += 16;
			}
			else if((48 - tempY)<32)return 1;
			else 
			{
				tempX = 0;
				tempY += 16;
			}
			str ++;
		}
		else if(*str<0x20)
		{
			if((84 - tempX)<8)
			{
				tempX = 0;
				if((48 - tempY)<32)return 1;
				else tempY += 16;
			}
			Dis_Ascii_16(tempX,tempY,0x20);
			str ++;
			tempX += 8;
		}
		else if(*str<0x80)
		{
			if((84 - tempX)<8)
			{
				tempX = 0;
				if((48 - tempY)<32)return 1;
				else tempY += 16;
			}
			Dis_Ascii_16(tempX,tempY,*str);
			str ++;
			tempX += 8;
		}
		else if(*str < 0x4e00)
		{
			if((84 - tempX)<16)
			{
				tempX = 0;
				if((48 - tempY)<32)return 1;
				else tempY += 16;
			}
			Dis_GBK16(tempX,tempY,"■");
			str ++;
			tempX += 16;
		}
		else if(*str < 0x9fa6)
		{
			temp = *str;
			if((84 - tempX)<16)
			{
				tempX = 0;
				if((48 - tempY)<32)return 1;
				else tempY += 16;
			}
			if(Unicode_to_GBK((unsigned char *)&temp))return 1;
			Dis_GBK16(tempX,tempY,(unsigned char *)&temp);
			str ++;
			tempX += 16;
		}
		else
		{
			if((84 - tempX)<16)
			{
				tempX = 0;
				if((48 - tempY)<32)return 1;
				else tempY += 16;
			}
			Dis_GBK16(tempX,tempY,"■");
			str ++;
			tempX += 16;
		}
	}
	return 0;
}

⌨️ 快捷键说明

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