📄 lcd_app.i
字号:
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 + -