Compare commits

..

No commits in common. "刘小菊51C项目_老分支_乱码" and "main" have entirely different histories.

805 changed files with 90689 additions and 471128 deletions

View File

@ -128,22 +128,6 @@
"${workspaceFolder}/apps/soundbox/smartbox/file_transfer",
"${workspaceFolder}/apps/soundbox/smartbox/tuya",
"${workspaceFolder}/apps/soundbox/include/ui/color_led",
"${workspaceFolder}/apps/kaotings",
"${workspaceFolder}/apps/ui",
"${workspaceFolder}/apps/lvgl8",
"${workspaceFolder}/apps/lvgl8/src",
"${workspaceFolder}/apps/lvgl8/src/core",
"${workspaceFolder}/apps/lvgl8/src/draw ",
"${workspaceFolder}/apps/lvgl8/src/extra",
"${workspaceFolder}/apps/lvgl8/src/font",
"${workspaceFolder}/apps/lvgl8/src/hal",
"${workspaceFolder}/apps/lvgl8/src/misc",
"${workspaceFolder}/apps/lvgl8/src/libs",
"${workspaceFolder}/apps/lvgl8/src/widgets",
"${workspaceFolder}/apps/lvgl8/demos",
"${workspaceFolder}/apps/lvgl8/demos/stress",
"${workspaceFolder}/apps/lvgl8/demos/widgets",
"${workspaceFolder}/apps/lvgl8/ports",
"C:/JL/pi32/pi32v2-include"
],
"intelliSenseMode": "clang-x86",

View File

@ -1,7 +0,0 @@
{
"files.associations": {
"drv_st7789.h": "c",
"kt_ui.h": "c",
"kt.h": "c"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

View File

@ -1,42 +0,0 @@
#ifndef __ESP8266_H
#define __ESP8266_H
#include "sys.h"
#include "stdio.h"
#define REV_OK 0 //接收完成标志
#define REV_WAIT 1 //接收未完成标志
const u8* wifista_ssid="cxxh"; //路由器SSID号
const u8* wifista_password="123456789"; //连接密码
#define WEATHER_PORTNUM "80" //天气连接端口号:80
#define WEATHER_SERVERIP "api.seniverse.com" //天气服务器IP
////苏宁易购连接端口号:80
//#define TIMER_PORTNUM "80"
//#define TIMER_SERVERIP "quan.suning.com" //苏宁易购服务器IP
//拼多多连接端口号:80
#define TIMER_PORTNUM "80"
#define TIMER_SERVERIP "qapi.pinduoduo.com" //拼多多服务器IP
//函数声明
unsigned char *ESP8266_GetIPD_GET(unsigned short timeOut,u8 *buff);
void ESP8266_Clear(void);
_Bool ESP8266_WaitRecive(void);
_Bool ESP8266_SendCmd(char *cmd, char *res);
void ESP8266_SendData(unsigned char *data, unsigned short len);
void ESP8266_Init(void);
void Get_current_time(void);
//解析苏宁返回数据
void cJSON_Time_Parse(void);
int Get_Year(char *y);
int Get_Moonth(char *m);
int Get_Day(char *d);
int Get_Times(char *h, char *m, char *s);
#endif

View File

@ -1,484 +0,0 @@
#include "lcd.h"
#include "stdlib.h"
#include "lcdfont.h"
#include "delay.h"
/*****************???????******************
STM32
* ?? : TFT-LCD???(1.8?)c??
* ?? : V1.0
* ?? : 2024.9.13
* MCU : STM32F103C8T6
* ?? : ???
* BILIBILI : ???????
* CSDN : ???????
* ?? : ??
**********************BEGIN***********************/
void LCD_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //??A????
GPIO_InitStructure.GPIO_Pin = LCD_SCL_GPIO_PIN|LCD_SDA_GPIO_PIN|LCD_RST_GPIO_PIN|LCD_DC_GPIO_PIN|LCD_CS_GPIO_PIN|LCD_BLK_GPIO_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //????
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//??50MHz
GPIO_Init(LCD_SCL_GPIO_PORT, &GPIO_InitStructure); //???GPIOA
GPIO_SetBits(LCD_SCL_GPIO_PORT,LCD_SCL_GPIO_PIN|LCD_SDA_GPIO_PIN|LCD_RST_GPIO_PIN|LCD_DC_GPIO_PIN|LCD_CS_GPIO_PIN|LCD_BLK_GPIO_PIN);
}
/******************************************************************************
????:LCD????????
????:dat ????????
???: ?
******************************************************************************/
void LCD_Writ_Bus(u8 dat)
{
u8 i;
LCD_CS_Clr();
for(i=0;i<8;i++)
{
LCD_SCLK_Clr();
if(dat&0x80)
{
LCD_MOSI_Set();
}
else
{
LCD_MOSI_Clr();
}
LCD_SCLK_Set();
dat<<=1;
}
LCD_CS_Set();
}
/******************************************************************************
????:LCD????
????:dat ?????
???: ?
******************************************************************************/
void LCD_WR_DATA8(u8 dat)
{
LCD_Writ_Bus(dat);
}
/******************************************************************************
????:LCD????
????:dat ?????
???: ?
******************************************************************************/
void LCD_WR_DATA(u16 dat)
{
LCD_Writ_Bus(dat>>8);
LCD_Writ_Bus(dat);
}
/******************************************************************************
????:LCD????
????:dat ?????
???: ?
******************************************************************************/
void LCD_WR_REG(u8 dat)
{
LCD_DC_Clr();//???
LCD_Writ_Bus(dat);
LCD_DC_Set();//???
}
/******************************************************************************
????:?????????
????:x1,x2 ???????????
y1,y2 ???????????
???: ?
******************************************************************************/
void LCD_Address_Set(u16 x1,u16 y1,u16 x2,u16 y2)
{
if(USE_HORIZONTAL==0)
{
LCD_WR_REG(0x2a);//?????
LCD_WR_DATA(x1+2);
LCD_WR_DATA(x2+2);
LCD_WR_REG(0x2b);//?????
LCD_WR_DATA(y1+1);
LCD_WR_DATA(y2+1);
LCD_WR_REG(0x2c);//????
}
else if(USE_HORIZONTAL==1)
{
LCD_WR_REG(0x2a);//?????
LCD_WR_DATA(x1+2);
LCD_WR_DATA(x2+2);
LCD_WR_REG(0x2b);//?????
LCD_WR_DATA(y1+1);
LCD_WR_DATA(y2+1);
LCD_WR_REG(0x2c);//????
}
else if(USE_HORIZONTAL==2)
{
LCD_WR_REG(0x2a);//?????
LCD_WR_DATA(x1+1);
LCD_WR_DATA(x2+1);
LCD_WR_REG(0x2b);//?????
LCD_WR_DATA(y1+2);
LCD_WR_DATA(y2+2);
LCD_WR_REG(0x2c);//????
}
else
{
LCD_WR_REG(0x2a);//?????
LCD_WR_DATA(x1+1);
LCD_WR_DATA(x2+1);
LCD_WR_REG(0x2b);//?????
LCD_WR_DATA(y1+2);
LCD_WR_DATA(y2+2);
LCD_WR_REG(0x2c);//????
}
}
void LCD_Init(void)
{
LCD_GPIO_Init();//???GPIO
LCD_RES_Clr();//??
delay_ms(100);
LCD_RES_Set();
delay_ms(100);
LCD_BLK_Set();//????
delay_ms(100);
//************* Start Initial Sequence **********//
LCD_WR_REG(0x11); //Sleep out
delay_ms(120); //Delay 120ms
//------------------------------------ST7735S Frame Rate-----------------------------------------//
LCD_WR_REG(0xB1);
LCD_WR_DATA8(0x05);
LCD_WR_DATA8(0x3C);
LCD_WR_DATA8(0x3C);
LCD_WR_REG(0xB2);
LCD_WR_DATA8(0x05);
LCD_WR_DATA8(0x3C);
LCD_WR_DATA8(0x3C);
LCD_WR_REG(0xB3);
LCD_WR_DATA8(0x05);
LCD_WR_DATA8(0x3C);
LCD_WR_DATA8(0x3C);
LCD_WR_DATA8(0x05);
LCD_WR_DATA8(0x3C);
LCD_WR_DATA8(0x3C);
//------------------------------------End ST7735S Frame Rate---------------------------------//
LCD_WR_REG(0xB4); //Dot inversion
LCD_WR_DATA8(0x03);
//------------------------------------ST7735S Power Sequence---------------------------------//
LCD_WR_REG(0xC0);
LCD_WR_DATA8(0x28);
LCD_WR_DATA8(0x08);
LCD_WR_DATA8(0x04);
LCD_WR_REG(0xC1);
LCD_WR_DATA8(0XC0);
LCD_WR_REG(0xC2);
LCD_WR_DATA8(0x0D);
LCD_WR_DATA8(0x00);
LCD_WR_REG(0xC3);
LCD_WR_DATA8(0x8D);
LCD_WR_DATA8(0x2A);
LCD_WR_REG(0xC4);
LCD_WR_DATA8(0x8D);
LCD_WR_DATA8(0xEE);
//---------------------------------End ST7735S Power Sequence-------------------------------------//
LCD_WR_REG(0xC5); //VCOM
LCD_WR_DATA8(0x1A);
LCD_WR_REG(0x36); //MX, MY, RGB mode
if(USE_HORIZONTAL==0)LCD_WR_DATA8(0x00);
else if(USE_HORIZONTAL==1)LCD_WR_DATA8(0xC0);
else if(USE_HORIZONTAL==2)LCD_WR_DATA8(0x70);
else LCD_WR_DATA8(0xA0);
//------------------------------------ST7735S Gamma Sequence---------------------------------//
LCD_WR_REG(0xE0);
LCD_WR_DATA8(0x04);
LCD_WR_DATA8(0x22);
LCD_WR_DATA8(0x07);
LCD_WR_DATA8(0x0A);
LCD_WR_DATA8(0x2E);
LCD_WR_DATA8(0x30);
LCD_WR_DATA8(0x25);
LCD_WR_DATA8(0x2A);
LCD_WR_DATA8(0x28);
LCD_WR_DATA8(0x26);
LCD_WR_DATA8(0x2E);
LCD_WR_DATA8(0x3A);
LCD_WR_DATA8(0x00);
LCD_WR_DATA8(0x01);
LCD_WR_DATA8(0x03);
LCD_WR_DATA8(0x13);
LCD_WR_REG(0xE1);
LCD_WR_DATA8(0x04);
LCD_WR_DATA8(0x16);
LCD_WR_DATA8(0x06);
LCD_WR_DATA8(0x0D);
LCD_WR_DATA8(0x2D);
LCD_WR_DATA8(0x26);
LCD_WR_DATA8(0x23);
LCD_WR_DATA8(0x27);
LCD_WR_DATA8(0x27);
LCD_WR_DATA8(0x25);
LCD_WR_DATA8(0x2D);
LCD_WR_DATA8(0x3B);
LCD_WR_DATA8(0x00);
LCD_WR_DATA8(0x01);
LCD_WR_DATA8(0x04);
LCD_WR_DATA8(0x13);
//------------------------------------End ST7735S Gamma Sequence-----------------------------//
LCD_WR_REG(0x3A); //65k mode
LCD_WR_DATA8(0x05);
LCD_WR_REG(0x29); //Display on
}
/******************************************************************************
******************************************************************************/
void LCD_Fill(u16 xsta,u16 ysta,u16 xend,u16 yend,u16 color)
{
u16 i,j;
LCD_Address_Set(xsta,ysta,xend,yend);//??????
for(i=ysta;i<yend;i++)
{
for(j=xsta;j<xend;j++)
{
LCD_WR_DATA(color);
}
}
}
/******************************************************************************
******************************************************************************/
void LCD_DrawPoint(u16 x,u16 y,u16 color)
{
LCD_Address_Set(x,y,x,y);//??????
LCD_WR_DATA(color);
}
/******************************************************************************
线
******************************************************************************/
void LCD_DrawLine(u16 x1,u16 y1,u16 x2,u16 y2,u16 color)
{
u16 t;
int xerr=0,yerr=0,delta_x,delta_y,distance;
int incx,incy,uRow,uCol;
delta_x=x2-x1; //??????
delta_y=y2-y1;
uRow=x1;//??????
uCol=y1;
if(delta_x>0)incx=1; //??????
else if (delta_x==0)incx=0;//???
else {incx=-1;delta_x=-delta_x;}
if(delta_y>0)incy=1;
else if (delta_y==0)incy=0;//???
else {incy=-1;delta_y=-delta_y;}
if(delta_x>delta_y)distance=delta_x; //?????????
else distance=delta_y;
for(t=0;t<distance+1;t++)
{
LCD_DrawPoint(uRow,uCol,color);//??
xerr+=delta_x;
yerr+=delta_y;
if(xerr>distance)
{
xerr-=distance;
uRow+=incx;
}
if(yerr>distance)
{
yerr-=distance;
uCol+=incy;
}
}
}
/******************************************************************************
******************************************************************************/
void LCD_DrawRectangle(u16 x1, u16 y1, u16 x2, u16 y2,u16 color)
{
LCD_DrawLine(x1,y1,x2,y1,color);
LCD_DrawLine(x1,y1,x1,y2,color);
LCD_DrawLine(x1,y2,x2,y2,color);
LCD_DrawLine(x2,y1,x2,y2,color);
}
/******************************************************************************
******************************************************************************/
void LCD_DrawCircle(u16 x0,u16 y0,u8 r,u16 color)
{
int a,b;
a=0;b=r;
while(a<=b)
{
LCD_DrawPoint(x0-b,y0-a,color); //3
LCD_DrawPoint(x0+b,y0-a,color); //0
LCD_DrawPoint(x0-a,y0+b,color); //1
LCD_DrawPoint(x0-a,y0-b,color); //2
LCD_DrawPoint(x0+b,y0+a,color); //4
LCD_DrawPoint(x0+a,y0-b,color); //5
LCD_DrawPoint(x0+a,y0+b,color); //6
LCD_DrawPoint(x0-b,y0+a,color); //7
a++;
if((a*a+b*b)>(r*r))//??????????
{
b--;
}
}
}
/******************************************************************************
******************************************************************************/
void LCD_ShowChar(u16 x,u16 y,u8 num,u16 fc,u16 bc,u8 sizey,u8 mode)
{
u8 temp,sizex,t,m=0;
u16 i,TypefaceNum;//??????????
u16 x0=x;
sizex=sizey/2;
TypefaceNum=(sizex/8+((sizex%8)?1:0))*sizey;
num=num-' '; //???????
LCD_Address_Set(x,y,x+sizex-1,y+sizey-1); //??????
for(i=0;i<TypefaceNum;i++)
{
if(sizey==12)temp=ascii_1206[num][i]; //??6x12??
else if(sizey==16)temp=ascii_1608[num][i]; //??8x16??
else if(sizey==24)temp=ascii_2412[num][i]; //??12x24??
else return;
for(t=0;t<8;t++)
{
if(!mode)//?????
{
if(temp&(0x01<<t))LCD_WR_DATA(fc);
else LCD_WR_DATA(bc);
m++;
if(m%sizex==0)
{
m=0;
break;
}
}
else//????
{
if(temp&(0x01<<t))LCD_DrawPoint(x,y,fc);//????
x++;
if((x-x0)==sizex)
{
x=x0;
y++;
break;
}
}
}
}
}
/******************************************************************************
******************************************************************************/
void LCD_ShowString(u16 x,u16 y,const u8 *p,u16 fc,u16 bc,u8 sizey,u8 mode)
{
while(*p!='\0')
{
LCD_ShowChar(x,y,*p,fc,bc,sizey,mode);
x+=sizey/2;
p++;
}
}
/******************************************************************************
******************************************************************************/
u32 mypow(u8 m,u8 n)
{
u32 result=1;
while(n--)result*=m;
return result;
}
/******************************************************************************
******************************************************************************/
void LCD_ShowIntNum(u16 x,u16 y,u16 num,u8 len,u16 fc,u16 bc,u8 sizey)
{
u8 t,temp;
u8 enshow=0;
u8 sizex=sizey/2;
for(t=0;t<len;t++)
{
temp=(num/mypow(10,len-t-1))%10;
if(enshow==0&&t<(len-1))
{
if(temp==0)
{
LCD_ShowChar(x+t*sizex,y,' ',fc,bc,sizey,0);
continue;
}else enshow=1;
}
LCD_ShowChar(x+t*sizex,y,temp+48,fc,bc,sizey,0);
}
}
/******************************************************************************
******************************************************************************/
void LCD_ShowFloatNum1(u16 x,u16 y,float num,u8 len,u16 fc,u16 bc,u8 sizey)
{
u8 t,temp,sizex;
u16 num1;
sizex=sizey/2;
num1=num*100;
for(t=0;t<len;t++)
{
temp=(num1/mypow(10,len-t-1))%10;
if(t==(len-2))
{
LCD_ShowChar(x+(len-2)*sizex,y,'.',fc,bc,sizey,0);
t++;
len+=1;
}
LCD_ShowChar(x+t*sizex,y,temp+48,fc,bc,sizey,0);
}
}
/******************************************************************************
******************************************************************************/
void LCD_ShowPicture(u16 x,u16 y,u16 length,u16 width,const u8 pic[])
{
u16 i,j;
u32 k=0;
LCD_Address_Set(x,y,x+length-1,y+width-1);
for(i=0;i<length;i++)
{
for(j=0;j<width;j++)
{
LCD_WR_DATA8(pic[k*2]);
LCD_WR_DATA8(pic[k*2+1]);
k++;
}
}
}

View File

@ -1,109 +0,0 @@
#ifndef __LCD_H
#define __LCD_H
#include "sys.h"
#include "stdlib.h"
#define LCD_SCL_GPIO_PORT GPIOA
#define LCD_SCL_GPIO_PIN GPIO_Pin_0
#define LCD_SDA_GPIO_PORT GPIOA
#define LCD_SDA_GPIO_PIN GPIO_Pin_1
#define LCD_RST_GPIO_PORT GPIOA
#define LCD_RST_GPIO_PIN GPIO_Pin_2
#define LCD_DC_GPIO_PORT GPIOA
#define LCD_DC_GPIO_PIN GPIO_Pin_3
#define LCD_CS_GPIO_PORT GPIOA
#define LCD_CS_GPIO_PIN GPIO_Pin_4
#define LCD_BLK_GPIO_PORT GPIOA
#define LCD_BLK_GPIO_PIN GPIO_Pin_5
/*********************END**********************/
#define LCD_SCLK_Clr() GPIO_ResetBits(LCD_SCL_GPIO_PORT,LCD_SCL_GPIO_PIN)//SCL=SCLK
#define LCD_SCLK_Set() GPIO_SetBits(LCD_SCL_GPIO_PORT,LCD_SCL_GPIO_PIN)
#define LCD_MOSI_Clr() GPIO_ResetBits(LCD_SDA_GPIO_PORT,LCD_SDA_GPIO_PIN)//SDA=MOSI
#define LCD_MOSI_Set() GPIO_SetBits(LCD_SDA_GPIO_PORT,LCD_SDA_GPIO_PIN)
#define LCD_RES_Clr() GPIO_ResetBits(LCD_RST_GPIO_PORT,LCD_RST_GPIO_PIN)//RES
#define LCD_RES_Set() GPIO_SetBits(LCD_RST_GPIO_PORT,LCD_RST_GPIO_PIN)
#define LCD_DC_Clr() GPIO_ResetBits(LCD_DC_GPIO_PORT,LCD_DC_GPIO_PIN)//DC
#define LCD_DC_Set() GPIO_SetBits(LCD_DC_GPIO_PORT,LCD_DC_GPIO_PIN)
#define LCD_CS_Clr() GPIO_ResetBits(LCD_CS_GPIO_PORT,LCD_CS_GPIO_PIN)//CS
#define LCD_CS_Set() GPIO_SetBits(LCD_CS_GPIO_PORT,LCD_CS_GPIO_PIN)
#define LCD_BLK_Clr() GPIO_ResetBits(LCD_BLK_GPIO_PORT,LCD_BLK_GPIO_PIN)//BLK
#define LCD_BLK_Set() GPIO_SetBits(LCD_BLK_GPIO_PORT,LCD_BLK_GPIO_PIN)
#define USE_HORIZONTAL 3 //
#if USE_HORIZONTAL==0||USE_HORIZONTAL==1
#define LCD_W 128
#define LCD_H 160
#else
#define LCD_W 160
#define LCD_H 128
#endif
//????
#define WHITE 0xFFFF
#define BLACK 0x0000
#define BLUE 0x001F
#define BRED 0XF81F
#define GRED 0XFFE0
#define GBLUE 0X07FF
#define RED 0xF800
#define MAGENTA 0xF81F
#define GREEN 0x07E0
#define CYAN 0x7FFF
#define YELLOW 0xFFE0
#define BROWN 0XBC40 //??
#define BRRED 0XFC07 //???
#define GRAY 0X8430 //??
#define DARKBLUE 0X01CF //???
#define LIGHTBLUE 0X7D7C //???
#define GRAYBLUE 0X5458 //???
#define LIGHTGREEN 0X841F //???
#define LGRAY 0XC618 //???(PANNEL),?????
#define LGRAYBLUE 0XA651 //????(?????)
#define LBBLUE 0X2B12 //????(???????)
void LCD_GPIO_Init(void);//???GPIO
void LCD_Writ_Bus(u8 dat);//??SPI??
void LCD_WR_DATA8(u8 dat);//??????
void LCD_WR_DATA(u16 dat);//??????
void LCD_WR_REG(u8 dat);//??????
void LCD_Address_Set(u16 x1,u16 y1,u16 x2,u16 y2);//??????
void LCD_Init(void);//LCD???
void LCD_Fill(u16 xsta,u16 ysta,u16 xend,u16 yend,u16 color);//????????
void LCD_DrawPoint(u16 x,u16 y,u16 color);//?????????
void LCD_DrawLine(u16 x1,u16 y1,u16 x2,u16 y2,u16 color);//?????????
void LCD_DrawRectangle(u16 x1, u16 y1, u16 x2, u16 y2,u16 color);//??????????
void LCD_DrawCircle(u16 x0,u16 y0,u8 r,u16 color);//?????????
void LCD_ShowChinese(u16 x,u16 y,u8 *s,u16 fc,u16 bc,u8 sizey,u8 mode);//?????
void LCD_ShowChar(u16 x,u16 y,u8 num,u16 fc,u16 bc,u8 sizey,u8 mode);//??????
void LCD_ShowString(u16 x,u16 y,const u8 *p,u16 fc,u16 bc,u8 sizey,u8 mode);//?????
u32 mypow(u8 m,u8 n);//??
void LCD_ShowIntNum(u16 x,u16 y,u16 num,u8 len,u16 fc,u16 bc,u8 sizey);//??????
void LCD_ShowFloatNum1(u16 x,u16 y,float num,u8 len,u16 fc,u16 bc,u8 sizey);//????????
void LCD_ShowPicture(u16 x,u16 y,u16 length,u16 width,const u8 pic[]);//????
#endif

View File

@ -1,310 +0,0 @@
/*
*********************************************************************************************************
*
* : LCD字符数组文件
* : lcdfont.h
*
*********************************************************************************************************
*/
#ifndef __LCDFONT_H
#define __LCDFONT_H
const unsigned char ascii_1206[][12]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
{0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x00,0x00,0x04,0x00,0x00},/*"!",1*/
{0x14,0x14,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/
{0x00,0x00,0x0A,0x0A,0x1F,0x0A,0x0A,0x1F,0x0A,0x0A,0x00,0x00},/*"#",3*/
{0x00,0x04,0x0E,0x15,0x05,0x06,0x0C,0x14,0x15,0x0E,0x04,0x00},/*"$",4*/
{0x00,0x00,0x12,0x15,0x0D,0x15,0x2E,0x2C,0x2A,0x12,0x00,0x00},/*"%",5*/
{0x00,0x00,0x04,0x0A,0x0A,0x36,0x15,0x15,0x29,0x16,0x00,0x00},/*"&",6*/
{0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
{0x10,0x08,0x08,0x04,0x04,0x04,0x04,0x04,0x08,0x08,0x10,0x00},/*"(",8*/
{0x02,0x04,0x04,0x08,0x08,0x08,0x08,0x08,0x04,0x04,0x02,0x00},/*")",9*/
{0x00,0x00,0x00,0x04,0x15,0x0E,0x0E,0x15,0x04,0x00,0x00,0x00},/*"*",10*/
{0x00,0x00,0x00,0x08,0x08,0x3E,0x08,0x08,0x00,0x00,0x00,0x00},/*"+",11*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x01,0x00},/*",",12*/
{0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",13*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00},/*".",14*/
{0x00,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x02,0x02,0x01,0x00},/*"/",15*/
{0x00,0x00,0x0E,0x11,0x11,0x11,0x11,0x11,0x11,0x0E,0x00,0x00},/*"0",16*/
{0x00,0x00,0x04,0x06,0x04,0x04,0x04,0x04,0x04,0x0E,0x00,0x00},/*"1",17*/
{0x00,0x00,0x0E,0x11,0x11,0x08,0x04,0x02,0x01,0x1F,0x00,0x00},/*"2",18*/
{0x00,0x00,0x0E,0x11,0x10,0x0C,0x10,0x10,0x11,0x0E,0x00,0x00},/*"3",19*/
{0x00,0x00,0x08,0x0C,0x0C,0x0A,0x09,0x1F,0x08,0x1C,0x00,0x00},/*"4",20*/
{0x00,0x00,0x1F,0x01,0x01,0x0F,0x11,0x10,0x11,0x0E,0x00,0x00},/*"5",21*/
{0x00,0x00,0x0C,0x12,0x01,0x0D,0x13,0x11,0x11,0x0E,0x00,0x00},/*"6",22*/
{0x00,0x00,0x1E,0x10,0x08,0x08,0x04,0x04,0x04,0x04,0x00,0x00},/*"7",23*/
{0x00,0x00,0x0E,0x11,0x11,0x0E,0x11,0x11,0x11,0x0E,0x00,0x00},/*"8",24*/
{0x00,0x00,0x0E,0x11,0x11,0x19,0x16,0x10,0x09,0x06,0x00,0x00},/*"9",25*/
{0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x04,0x00,0x00},/*":",26*/
{0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x04,0x00},/*";",27*/
{0x00,0x00,0x10,0x08,0x04,0x02,0x02,0x04,0x08,0x10,0x00,0x00},/*"<",28*/
{0x00,0x00,0x00,0x00,0x3F,0x00,0x3F,0x00,0x00,0x00,0x00,0x00},/*"=",29*/
{0x00,0x00,0x02,0x04,0x08,0x10,0x10,0x08,0x04,0x02,0x00,0x00},/*">",30*/
{0x00,0x00,0x0E,0x11,0x11,0x08,0x04,0x04,0x00,0x04,0x00,0x00},/*"?",31*/
{0x00,0x00,0x1C,0x22,0x29,0x2D,0x2D,0x1D,0x22,0x1C,0x00,0x00},/*"@",32*/
{0x00,0x00,0x04,0x04,0x0C,0x0A,0x0A,0x1E,0x12,0x33,0x00,0x00},/*"A",33*/
{0x00,0x00,0x0F,0x12,0x12,0x0E,0x12,0x12,0x12,0x0F,0x00,0x00},/*"B",34*/
{0x00,0x00,0x1E,0x11,0x01,0x01,0x01,0x01,0x11,0x0E,0x00,0x00},/*"C",35*/
{0x00,0x00,0x0F,0x12,0x12,0x12,0x12,0x12,0x12,0x0F,0x00,0x00},/*"D",36*/
{0x00,0x00,0x1F,0x12,0x0A,0x0E,0x0A,0x02,0x12,0x1F,0x00,0x00},/*"E",37*/
{0x00,0x00,0x1F,0x12,0x0A,0x0E,0x0A,0x02,0x02,0x07,0x00,0x00},/*"F",38*/
{0x00,0x00,0x1C,0x12,0x01,0x01,0x39,0x11,0x12,0x0C,0x00,0x00},/*"G",39*/
{0x00,0x00,0x33,0x12,0x12,0x1E,0x12,0x12,0x12,0x33,0x00,0x00},/*"H",40*/
{0x00,0x00,0x1F,0x04,0x04,0x04,0x04,0x04,0x04,0x1F,0x00,0x00},/*"I",41*/
{0x00,0x00,0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x09,0x07},/*"J",42*/
{0x00,0x00,0x37,0x12,0x0A,0x06,0x0A,0x12,0x12,0x37,0x00,0x00},/*"K",43*/
{0x00,0x00,0x07,0x02,0x02,0x02,0x02,0x02,0x22,0x3F,0x00,0x00},/*"L",44*/
{0x00,0x00,0x3B,0x1B,0x1B,0x1B,0x15,0x15,0x15,0x35,0x00,0x00},/*"M",45*/
{0x00,0x00,0x3B,0x12,0x16,0x16,0x1A,0x1A,0x12,0x17,0x00,0x00},/*"N",46*/
{0x00,0x00,0x0E,0x11,0x11,0x11,0x11,0x11,0x11,0x0E,0x00,0x00},/*"O",47*/
{0x00,0x00,0x0F,0x12,0x12,0x0E,0x02,0x02,0x02,0x07,0x00,0x00},/*"P",48*/
{0x00,0x00,0x0E,0x11,0x11,0x11,0x11,0x17,0x19,0x0E,0x18,0x00},/*"Q",49*/
{0x00,0x00,0x0F,0x12,0x12,0x0E,0x0A,0x12,0x12,0x37,0x00,0x00},/*"R",50*/
{0x00,0x00,0x1E,0x11,0x01,0x06,0x08,0x10,0x11,0x0F,0x00,0x00},/*"S",51*/
{0x00,0x00,0x1F,0x15,0x04,0x04,0x04,0x04,0x04,0x0E,0x00,0x00},/*"T",52*/
{0x00,0x00,0x33,0x12,0x12,0x12,0x12,0x12,0x12,0x0C,0x00,0x00},/*"U",53*/
{0x00,0x00,0x33,0x12,0x12,0x0A,0x0A,0x0C,0x04,0x04,0x00,0x00},/*"V",54*/
{0x00,0x00,0x15,0x15,0x15,0x15,0x0E,0x0A,0x0A,0x0A,0x00,0x00},/*"W",55*/
{0x00,0x00,0x1B,0x0A,0x0A,0x04,0x04,0x0A,0x0A,0x1B,0x00,0x00},/*"X",56*/
{0x00,0x00,0x1B,0x0A,0x0A,0x0A,0x04,0x04,0x04,0x0E,0x00,0x00},/*"Y",57*/
{0x00,0x00,0x1F,0x09,0x08,0x04,0x04,0x02,0x12,0x1F,0x00,0x00},/*"Z",58*/
{0x1C,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x1C,0x00},/*"[",59*/
{0x00,0x02,0x02,0x04,0x04,0x04,0x08,0x08,0x08,0x10,0x10,0x00},/*"\",60*/
{0x0E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x0E,0x00},/*"]",61*/
{0x04,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F},/*"_",63*/
{0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
{0x00,0x00,0x00,0x00,0x00,0x0C,0x12,0x1C,0x12,0x3C,0x00,0x00},/*"a",65*/
{0x00,0x03,0x02,0x02,0x02,0x0E,0x12,0x12,0x12,0x0E,0x00,0x00},/*"b",66*/
{0x00,0x00,0x00,0x00,0x00,0x1C,0x12,0x02,0x12,0x0C,0x00,0x00},/*"c",67*/
{0x00,0x18,0x10,0x10,0x10,0x1C,0x12,0x12,0x12,0x3C,0x00,0x00},/*"d",68*/
{0x00,0x00,0x00,0x00,0x00,0x0C,0x12,0x1E,0x02,0x1C,0x00,0x00},/*"e",69*/
{0x00,0x18,0x24,0x04,0x04,0x1E,0x04,0x04,0x04,0x1E,0x00,0x00},/*"f",70*/
{0x00,0x00,0x00,0x00,0x00,0x3C,0x12,0x0C,0x02,0x1C,0x22,0x1C},/*"g",71*/
{0x00,0x03,0x02,0x02,0x02,0x0E,0x12,0x12,0x12,0x37,0x00,0x00},/*"h",72*/
{0x00,0x04,0x04,0x00,0x00,0x06,0x04,0x04,0x04,0x0E,0x00,0x00},/*"i",73*/
{0x00,0x08,0x08,0x00,0x00,0x0C,0x08,0x08,0x08,0x08,0x08,0x07},/*"j",74*/
{0x00,0x03,0x02,0x02,0x02,0x1A,0x0A,0x06,0x0A,0x13,0x00,0x00},/*"k",75*/
{0x00,0x07,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x1F,0x00,0x00},/*"l",76*/
{0x00,0x00,0x00,0x00,0x00,0x0F,0x15,0x15,0x15,0x15,0x00,0x00},/*"m",77*/
{0x00,0x00,0x00,0x00,0x00,0x0F,0x12,0x12,0x12,0x37,0x00,0x00},/*"n",78*/
{0x00,0x00,0x00,0x00,0x00,0x0C,0x12,0x12,0x12,0x0C,0x00,0x00},/*"o",79*/
{0x00,0x00,0x00,0x00,0x00,0x0F,0x12,0x12,0x12,0x0E,0x02,0x07},/*"p",80*/
{0x00,0x00,0x00,0x00,0x00,0x1C,0x12,0x12,0x12,0x1C,0x10,0x38},/*"q",81*/
{0x00,0x00,0x00,0x00,0x00,0x1B,0x06,0x02,0x02,0x07,0x00,0x00},/*"r",82*/
{0x00,0x00,0x00,0x00,0x00,0x1E,0x02,0x0C,0x10,0x1E,0x00,0x00},/*"s",83*/
{0x00,0x00,0x00,0x04,0x04,0x1E,0x04,0x04,0x04,0x1C,0x00,0x00},/*"t",84*/
{0x00,0x00,0x00,0x00,0x00,0x1B,0x12,0x12,0x12,0x3C,0x00,0x00},/*"u",85*/
{0x00,0x00,0x00,0x00,0x00,0x1B,0x0A,0x0A,0x04,0x04,0x00,0x00},/*"v",86*/
{0x00,0x00,0x00,0x00,0x00,0x15,0x15,0x0E,0x0A,0x0A,0x00,0x00},/*"w",87*/
{0x00,0x00,0x00,0x00,0x00,0x1B,0x0A,0x04,0x0A,0x1B,0x00,0x00},/*"x",88*/
{0x00,0x00,0x00,0x00,0x00,0x33,0x12,0x12,0x0C,0x08,0x04,0x03},/*"y",89*/
{0x00,0x00,0x00,0x00,0x00,0x1E,0x08,0x04,0x04,0x1E,0x00,0x00},/*"z",90*/
{0x18,0x08,0x08,0x08,0x08,0x0C,0x08,0x08,0x08,0x08,0x18,0x00},/*"{",91*/
{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},/*"|",92*/
{0x06,0x04,0x04,0x04,0x04,0x08,0x04,0x04,0x04,0x04,0x06,0x00},/*"}",93*/
{0x16,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/
};
const unsigned char ascii_1608[][16]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
{0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x18,0x18,0x00,0x00},/*"!",1*/
{0x00,0x48,0x6C,0x24,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/
{0x00,0x00,0x00,0x24,0x24,0x24,0x7F,0x12,0x12,0x12,0x7F,0x12,0x12,0x12,0x00,0x00},/*"#",3*/
{0x00,0x00,0x08,0x1C,0x2A,0x2A,0x0A,0x0C,0x18,0x28,0x28,0x2A,0x2A,0x1C,0x08,0x08},/*"$",4*/
{0x00,0x00,0x00,0x22,0x25,0x15,0x15,0x15,0x2A,0x58,0x54,0x54,0x54,0x22,0x00,0x00},/*"%",5*/
{0x00,0x00,0x00,0x0C,0x12,0x12,0x12,0x0A,0x76,0x25,0x29,0x11,0x91,0x6E,0x00,0x00},/*"&",6*/
{0x00,0x06,0x06,0x04,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
{0x00,0x40,0x20,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x10,0x10,0x20,0x40,0x00},/*"(",8*/
{0x00,0x02,0x04,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x08,0x08,0x04,0x02,0x00},/*")",9*/
{0x00,0x00,0x00,0x00,0x08,0x08,0x6B,0x1C,0x1C,0x6B,0x08,0x08,0x00,0x00,0x00,0x00},/*"*",10*/
{0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x7F,0x08,0x08,0x08,0x08,0x00,0x00,0x00},/*"+",11*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x04,0x03},/*",",12*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",13*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00},/*".",14*/
{0x00,0x00,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x02,0x02,0x00},/*"/",15*/
{0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00},/*"0",16*/
{0x00,0x00,0x00,0x08,0x0E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"1",17*/
{0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x20,0x20,0x10,0x08,0x04,0x42,0x7E,0x00,0x00},/*"2",18*/
{0x00,0x00,0x00,0x3C,0x42,0x42,0x20,0x18,0x20,0x40,0x40,0x42,0x22,0x1C,0x00,0x00},/*"3",19*/
{0x00,0x00,0x00,0x20,0x30,0x28,0x24,0x24,0x22,0x22,0x7E,0x20,0x20,0x78,0x00,0x00},/*"4",20*/
{0x00,0x00,0x00,0x7E,0x02,0x02,0x02,0x1A,0x26,0x40,0x40,0x42,0x22,0x1C,0x00,0x00},/*"5",21*/
{0x00,0x00,0x00,0x38,0x24,0x02,0x02,0x1A,0x26,0x42,0x42,0x42,0x24,0x18,0x00,0x00},/*"6",22*/
{0x00,0x00,0x00,0x7E,0x22,0x22,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00},/*"7",23*/
{0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00},/*"8",24*/
{0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x64,0x58,0x40,0x40,0x24,0x1C,0x00,0x00},/*"9",25*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00},/*":",26*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x04},/*";",27*/
{0x00,0x00,0x00,0x40,0x20,0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x20,0x40,0x00,0x00},/*"<",28*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00},/*"=",29*/
{0x00,0x00,0x00,0x02,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x02,0x00,0x00},/*">",30*/
{0x00,0x00,0x00,0x3C,0x42,0x42,0x46,0x40,0x20,0x10,0x10,0x00,0x18,0x18,0x00,0x00},/*"?",31*/
{0x00,0x00,0x00,0x1C,0x22,0x5A,0x55,0x55,0x55,0x55,0x2D,0x42,0x22,0x1C,0x00,0x00},/*"@",32*/
{0x00,0x00,0x00,0x08,0x08,0x18,0x14,0x14,0x24,0x3C,0x22,0x42,0x42,0xE7,0x00,0x00},/*"A",33*/
{0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x1E,0x22,0x42,0x42,0x42,0x22,0x1F,0x00,0x00},/*"B",34*/
{0x00,0x00,0x00,0x7C,0x42,0x42,0x01,0x01,0x01,0x01,0x01,0x42,0x22,0x1C,0x00,0x00},/*"C",35*/
{0x00,0x00,0x00,0x1F,0x22,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x22,0x1F,0x00,0x00},/*"D",36*/
{0x00,0x00,0x00,0x3F,0x42,0x12,0x12,0x1E,0x12,0x12,0x02,0x42,0x42,0x3F,0x00,0x00},/*"E",37*/
{0x00,0x00,0x00,0x3F,0x42,0x12,0x12,0x1E,0x12,0x12,0x02,0x02,0x02,0x07,0x00,0x00},/*"F",38*/
{0x00,0x00,0x00,0x3C,0x22,0x22,0x01,0x01,0x01,0x71,0x21,0x22,0x22,0x1C,0x00,0x00},/*"G",39*/
{0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},/*"H",40*/
{0x00,0x00,0x00,0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"I",41*/
{0x00,0x00,0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x0F},/*"J",42*/
{0x00,0x00,0x00,0x77,0x22,0x12,0x0A,0x0E,0x0A,0x12,0x12,0x22,0x22,0x77,0x00,0x00},/*"K",43*/
{0x00,0x00,0x00,0x07,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x42,0x7F,0x00,0x00},/*"L",44*/
{0x00,0x00,0x00,0x77,0x36,0x36,0x36,0x36,0x2A,0x2A,0x2A,0x2A,0x2A,0x6B,0x00,0x00},/*"M",45*/
{0x00,0x00,0x00,0xE3,0x46,0x46,0x4A,0x4A,0x52,0x52,0x52,0x62,0x62,0x47,0x00,0x00},/*"N",46*/
{0x00,0x00,0x00,0x1C,0x22,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x22,0x1C,0x00,0x00},/*"O",47*/
{0x00,0x00,0x00,0x3F,0x42,0x42,0x42,0x42,0x3E,0x02,0x02,0x02,0x02,0x07,0x00,0x00},/*"P",48*/
{0x00,0x00,0x00,0x1C,0x22,0x41,0x41,0x41,0x41,0x41,0x4D,0x53,0x32,0x1C,0x60,0x00},/*"Q",49*/
{0x00,0x00,0x00,0x3F,0x42,0x42,0x42,0x3E,0x12,0x12,0x22,0x22,0x42,0xC7,0x00,0x00},/*"R",50*/
{0x00,0x00,0x00,0x7C,0x42,0x42,0x02,0x04,0x18,0x20,0x40,0x42,0x42,0x3E,0x00,0x00},/*"S",51*/
{0x00,0x00,0x00,0x7F,0x49,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x1C,0x00,0x00},/*"T",52*/
{0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00},/*"U",53*/
{0x00,0x00,0x00,0xE7,0x42,0x42,0x22,0x24,0x24,0x14,0x14,0x18,0x08,0x08,0x00,0x00},/*"V",54*/
{0x00,0x00,0x00,0x6B,0x49,0x49,0x49,0x49,0x55,0x55,0x36,0x22,0x22,0x22,0x00,0x00},/*"W",55*/
{0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x18,0x18,0x18,0x24,0x24,0x42,0xE7,0x00,0x00},/*"X",56*/
{0x00,0x00,0x00,0x77,0x22,0x22,0x14,0x14,0x08,0x08,0x08,0x08,0x08,0x1C,0x00,0x00},/*"Y",57*/
{0x00,0x00,0x00,0x7E,0x21,0x20,0x10,0x10,0x08,0x04,0x04,0x42,0x42,0x3F,0x00,0x00},/*"Z",58*/
{0x00,0x78,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x78,0x00},/*"[",59*/
{0x00,0x00,0x02,0x02,0x04,0x04,0x08,0x08,0x08,0x10,0x10,0x20,0x20,0x20,0x40,0x40},/*"\",60*/
{0x00,0x1E,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1E,0x00},/*"]",61*/
{0x00,0x38,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF},/*"_",63*/
{0x00,0x06,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x78,0x44,0x42,0x42,0xFC,0x00,0x00},/*"a",65*/
{0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x1A,0x26,0x42,0x42,0x42,0x26,0x1A,0x00,0x00},/*"b",66*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x44,0x02,0x02,0x02,0x44,0x38,0x00,0x00},/*"c",67*/
{0x00,0x00,0x00,0x60,0x40,0x40,0x40,0x78,0x44,0x42,0x42,0x42,0x64,0xD8,0x00,0x00},/*"d",68*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x7E,0x02,0x02,0x42,0x3C,0x00,0x00},/*"e",69*/
{0x00,0x00,0x00,0xF0,0x88,0x08,0x08,0x7E,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"f",70*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x22,0x22,0x1C,0x02,0x3C,0x42,0x42,0x3C},/*"g",71*/
{0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x3A,0x46,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},/*"h",72*/
{0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x0E,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"i",73*/
{0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x38,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x1E},/*"j",74*/
{0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x72,0x12,0x0A,0x16,0x12,0x22,0x77,0x00,0x00},/*"k",75*/
{0x00,0x00,0x00,0x0E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"l",76*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x92,0x92,0x92,0x92,0x92,0xB7,0x00,0x00},/*"m",77*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3B,0x46,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},/*"n",78*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00},/*"o",79*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x26,0x42,0x42,0x42,0x22,0x1E,0x02,0x07},/*"p",80*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x44,0x42,0x42,0x42,0x44,0x78,0x40,0xE0},/*"q",81*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x4C,0x04,0x04,0x04,0x04,0x1F,0x00,0x00},/*"r",82*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x42,0x02,0x3C,0x40,0x42,0x3E,0x00,0x00},/*"s",83*/
{0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x3E,0x08,0x08,0x08,0x08,0x08,0x30,0x00,0x00},/*"t",84*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x42,0x42,0x42,0x42,0x62,0xDC,0x00,0x00},/*"u",85*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x14,0x08,0x08,0x00,0x00},/*"v",86*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEB,0x49,0x49,0x55,0x55,0x22,0x22,0x00,0x00},/*"w",87*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x24,0x18,0x18,0x18,0x24,0x6E,0x00,0x00},/*"x",88*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x14,0x18,0x08,0x08,0x07},/*"y",89*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x22,0x10,0x08,0x08,0x44,0x7E,0x00,0x00},/*"z",90*/
{0x00,0xC0,0x20,0x20,0x20,0x20,0x20,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0xC0,0x00},/*"{",91*/
{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},/*"|",92*/
{0x00,0x06,0x08,0x08,0x08,0x08,0x08,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x06,0x00},/*"}",93*/
{0x0C,0x32,0xC2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/
};
const unsigned char ascii_2412[][48]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"!",1*/
{0x00,0x00,0x00,0x00,0x60,0x06,0x60,0x06,0x30,0x03,0x98,0x01,0x88,0x00,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x02,0x10,0x02,0x10,0x02,0x10,0x02,0xFE,0x07,0xFE,0x07,0x08,0x02,0x08,0x01,0x08,0x01,0x08,0x01,0x08,0x01,0xFE,0x07,0xFE,0x07,0x04,0x01,0x04,0x01,0x04,0x01,0x04,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"#",3*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0xF0,0x01,0x58,0x03,0x4C,0x03,0xCC,0x03,0x4C,0x00,0x58,0x00,0x70,0x00,0xE0,0x00,0xC0,0x01,0xC0,0x01,0x40,0x03,0x4C,0x03,0x5C,0x03,0x4C,0x03,0x48,0x01,0xF0,0x00,0x40,0x00,0x40,0x00,0x00,0x00},/*"$",4*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x01,0x0A,0x01,0x91,0x00,0x91,0x00,0x91,0x00,0x51,0x00,0x51,0x00,0x3A,0x00,0xAE,0x03,0xA0,0x02,0x50,0x04,0x50,0x04,0x48,0x04,0x48,0x04,0x48,0x04,0x84,0x02,0x84,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"%",5*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x6C,0x00,0x6C,0x00,0x6C,0x00,0x6C,0x00,0x6C,0x00,0x2C,0x00,0x98,0x07,0x1C,0x01,0x1A,0x01,0x33,0x01,0x33,0x01,0x63,0x01,0xE3,0x00,0xC3,0x08,0xC6,0x09,0x3C,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"&",6*/
{0x00,0x00,0x00,0x00,0x0C,0x00,0x1C,0x00,0x10,0x00,0x10,0x00,0x08,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
{0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x80,0x00,0x80,0x00,0x00,0x01,0x00,0x02,0x00,0x04,0x00,0x00},/*"(",8*/
{0x00,0x00,0x00,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x10,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x10,0x00,0x10,0x00,0x08,0x00,0x04,0x00,0x02,0x00,0x00,0x00},/*")",9*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0xC0,0x00,0x40,0x00,0x46,0x0C,0x4E,0x0F,0xD0,0x01,0xF0,0x01,0x5E,0x0F,0x46,0x0C,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"*",10*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0xFE,0x0F,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"+",11*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x1C,0x00,0x10,0x00,0x10,0x00,0x08,0x00,0x04,0x00},/*",",12*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",13*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*".",14*/
{0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x06,0x00,0x02,0x00,0x03,0x00,0x01,0x00,0x01,0x80,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x60,0x00,0x20,0x00,0x20,0x00,0x10,0x00,0x10,0x00,0x08,0x00,0x08,0x00,0x0C,0x00,0x04,0x00,0x06,0x00,0x02,0x00,0x00,0x00},/*"/",15*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x98,0x01,0x0C,0x03,0x0C,0x03,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x0C,0x03,0x0C,0x03,0x98,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"0",16*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x7C,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"1",17*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x84,0x01,0x02,0x03,0x06,0x03,0x06,0x03,0x00,0x03,0x00,0x01,0x80,0x01,0xC0,0x00,0x60,0x00,0x20,0x00,0x10,0x00,0x08,0x02,0x04,0x02,0x06,0x02,0xFE,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"2",18*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0xC6,0x00,0x86,0x01,0x86,0x01,0x80,0x01,0x80,0x01,0xC0,0x00,0x70,0x00,0x80,0x01,0x00,0x01,0x00,0x03,0x00,0x03,0x06,0x03,0x06,0x03,0x86,0x01,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"3",19*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x80,0x01,0xC0,0x01,0xA0,0x01,0xA0,0x01,0x90,0x01,0x88,0x01,0x88,0x01,0x84,0x01,0x82,0x01,0xFE,0x0F,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"4",20*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x03,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0xF4,0x00,0x8C,0x01,0x04,0x03,0x00,0x03,0x00,0x03,0x06,0x03,0x06,0x03,0x82,0x01,0x84,0x01,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"5",21*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0x18,0x03,0x0C,0x03,0x0C,0x00,0x04,0x00,0x06,0x00,0xE6,0x01,0x16,0x03,0x0E,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x04,0x06,0x0C,0x02,0x18,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"6",22*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0x0C,0x06,0x04,0x02,0x04,0x01,0x00,0x01,0x00,0x01,0x80,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"7",23*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x01,0x0C,0x03,0x06,0x06,0x06,0x06,0x06,0x06,0x0C,0x02,0x1C,0x03,0xF0,0x00,0xC8,0x01,0x0C,0x03,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x0C,0x03,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"8",24*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x0C,0x01,0x0C,0x03,0x06,0x02,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x07,0x8C,0x06,0x78,0x06,0x00,0x06,0x00,0x03,0x00,0x03,0x0C,0x01,0x8C,0x01,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"9",25*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*":",26*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x40,0x00,0x20,0x00,0x20,0x00},/*";",27*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00,0x40,0x00,0x20,0x00,0x10,0x00,0x08,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x80,0x00,0x00,0x01,0x00,0x02,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00},/*"<",28*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"=",29*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x80,0x00,0x00,0x01,0x00,0x02,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00,0x40,0x00,0x20,0x00,0x10,0x00,0x08,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*">",30*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x03,0x18,0x06,0x04,0x0C,0x04,0x0C,0x0C,0x0C,0x0C,0x0C,0x00,0x07,0x80,0x01,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"?",31*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x18,0x03,0x0C,0x02,0xCC,0x05,0x64,0x05,0x66,0x05,0xA6,0x05,0xB6,0x04,0xB6,0x04,0xB6,0x04,0xB6,0x04,0xB6,0x02,0xE4,0x01,0x0C,0x04,0x0C,0x02,0x18,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"@",32*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x50,0x00,0xD0,0x00,0x90,0x00,0x90,0x00,0x88,0x00,0x88,0x01,0x08,0x01,0xF8,0x01,0x04,0x03,0x04,0x03,0x04,0x02,0x02,0x02,0x02,0x06,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00},/*"A",33*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x8C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x8C,0x01,0xFC,0x00,0x0C,0x03,0x0C,0x02,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x03,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"B",34*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x03,0x18,0x03,0x0C,0x06,0x0C,0x04,0x04,0x04,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x04,0x0C,0x04,0x0C,0x02,0x18,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"C",35*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x8C,0x01,0x0C,0x03,0x0C,0x03,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x03,0x0C,0x03,0x8C,0x01,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"D",36*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x06,0x03,0x06,0x04,0x06,0x04,0x06,0x00,0x86,0x00,0x86,0x00,0xFE,0x00,0x86,0x00,0x86,0x00,0x86,0x00,0x06,0x00,0x06,0x04,0x06,0x04,0x06,0x02,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"E",37*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x06,0x03,0x06,0x04,0x06,0x04,0x06,0x00,0x86,0x00,0x86,0x00,0xFE,0x00,0x86,0x00,0x86,0x00,0x86,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"F",38*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x18,0x01,0x0C,0x02,0x0C,0x02,0x04,0x02,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0xC6,0x0F,0x06,0x03,0x06,0x03,0x0C,0x03,0x0C,0x03,0x18,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"G",39*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0xFE,0x07,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00},/*"H",40*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x03,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"I",41*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC6,0x00,0x66,0x00,0x3C,0x00},/*"J",42*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCF,0x03,0x86,0x01,0xC6,0x00,0x46,0x00,0x26,0x00,0x16,0x00,0x36,0x00,0x2E,0x00,0x6E,0x00,0x46,0x00,0xC6,0x00,0x86,0x00,0x86,0x01,0x06,0x01,0x06,0x03,0x8F,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"K",43*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x04,0x06,0x04,0x06,0x02,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"L",44*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x07,0x86,0x03,0x86,0x03,0x8E,0x03,0x8E,0x03,0x4E,0x03,0x4E,0x03,0x4A,0x03,0x5A,0x03,0x5A,0x03,0x3A,0x03,0x32,0x03,0x32,0x03,0x32,0x03,0x12,0x03,0x87,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"M",45*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x0F,0x0C,0x02,0x1C,0x02,0x1C,0x02,0x34,0x02,0x34,0x02,0x64,0x02,0x64,0x02,0x44,0x02,0xC4,0x02,0x84,0x02,0x84,0x03,0x84,0x03,0x04,0x03,0x04,0x03,0x1F,0x02,0x00,0x00,0x00,0x00,0x00,0x00},/*"N",46*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x98,0x01,0x0C,0x03,0x0C,0x02,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x0C,0x02,0x0C,0x03,0x98,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"O",47*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x06,0x03,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x86,0x03,0xFE,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"P",48*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x98,0x01,0x0C,0x03,0x0C,0x02,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x76,0x06,0x4C,0x02,0xCC,0x03,0x98,0x01,0xF0,0x00,0x80,0x07,0x00,0x03,0x00,0x00},/*"Q",49*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x06,0x03,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x03,0xFE,0x00,0x46,0x00,0xC6,0x00,0x86,0x00,0x86,0x01,0x06,0x03,0x06,0x03,0x06,0x06,0x0F,0x0E,0x00,0x00,0x00,0x00,0x00,0x00},/*"R",50*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x02,0x0C,0x03,0x06,0x02,0x06,0x02,0x06,0x00,0x0E,0x00,0x3C,0x00,0xF8,0x00,0xE0,0x03,0x80,0x03,0x00,0x07,0x02,0x06,0x02,0x06,0x06,0x06,0x0C,0x03,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"S",51*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x07,0x62,0x04,0x61,0x08,0x61,0x08,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"T",52*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x07,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x18,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"U",53*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x07,0x06,0x02,0x04,0x01,0x04,0x01,0x0C,0x01,0x0C,0x01,0x88,0x00,0x88,0x00,0x98,0x00,0x98,0x00,0x50,0x00,0x50,0x00,0x70,0x00,0x30,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"V",54*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF7,0x0E,0x62,0x04,0x42,0x04,0x46,0x04,0x46,0x04,0x64,0x02,0x64,0x02,0xE4,0x02,0xE4,0x02,0x9C,0x02,0x9C,0x01,0x98,0x01,0x98,0x01,0x88,0x01,0x88,0x00,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"W",55*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9E,0x07,0x0C,0x01,0x08,0x01,0x18,0x01,0x90,0x00,0xB0,0x00,0x60,0x00,0x20,0x00,0x60,0x00,0x60,0x00,0xD0,0x00,0x90,0x00,0x88,0x01,0x08,0x01,0x04,0x03,0x8E,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"X",56*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x06,0x04,0x04,0x02,0x0C,0x02,0x08,0x01,0x18,0x01,0xB8,0x00,0xB0,0x00,0x70,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"Y",57*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x07,0x0C,0x02,0x06,0x03,0x02,0x01,0x80,0x01,0x80,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x10,0x00,0x18,0x00,0x08,0x04,0x0C,0x04,0x04,0x02,0xFE,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"Z",58*/
{0x00,0x00,0x00,0x00,0xE0,0x03,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0xE0,0x03,0x00,0x00},/*"[",59*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0x08,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0xC0,0x00,0x80,0x00,0x80,0x00,0x00,0x01,0x00,0x01,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x04},/*"\",60*/
{0x00,0x00,0x00,0x00,0x7C,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x7C,0x00,0x00,0x00},/*"]",61*/
{0x00,0x00,0x60,0x00,0x90,0x00,0x08,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F},/*"_",63*/
{0x00,0x00,0x00,0x00,0x18,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x0C,0x03,0x0C,0x03,0x00,0x03,0xE0,0x03,0x1C,0x03,0x0E,0x03,0x06,0x03,0x06,0x03,0x8E,0x0B,0x7C,0x0E,0x00,0x00,0x00,0x00,0x00,0x00},/*"a",65*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x0E,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0xCC,0x01,0x3C,0x03,0x1C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x02,0x1C,0x03,0xE4,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"b",66*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x8C,0x01,0x8C,0x01,0x86,0x01,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x02,0x0C,0x02,0x0C,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"c",67*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xC0,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x78,0x03,0x8C,0x03,0x0C,0x03,0x06,0x03,0x06,0x03,0x06,0x03,0x06,0x03,0x06,0x03,0x04,0x03,0x8C,0x07,0x78,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"d",68*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0x18,0x03,0x08,0x02,0x0C,0x06,0x0C,0x06,0xFC,0x07,0x0C,0x00,0x0C,0x00,0x18,0x04,0x18,0x02,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"e",69*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x60,0x06,0x30,0x06,0x30,0x00,0x30,0x00,0xFE,0x01,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"f",70*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x07,0xD8,0x06,0x8C,0x01,0x8C,0x01,0x8C,0x01,0x98,0x01,0xF8,0x00,0x0C,0x00,0xFC,0x00,0xCC,0x03,0x06,0x03,0x06,0x03,0x8E,0x03,0xF8,0x00},/*"g",71*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x0E,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0xEC,0x01,0x1C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x9E,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"h",72*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x7C,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"i",73*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0xF0,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xCC,0x00,0x7C,0x00},/*"j",74*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x0E,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x8C,0x03,0x8C,0x00,0x8C,0x00,0x4C,0x00,0x6C,0x00,0x5C,0x00,0x8C,0x00,0x8C,0x01,0x0C,0x01,0x0C,0x03,0x9E,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"k",75*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x7C,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"l",76*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x37,0x07,0xEE,0x06,0x66,0x06,0x66,0x06,0x66,0x06,0x66,0x06,0x66,0x06,0x66,0x06,0x66,0x06,0x66,0x06,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00},/*"m",77*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEE,0x01,0x1C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x9E,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"n",78*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x98,0x01,0x0C,0x03,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x0C,0x03,0x0C,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"o",79*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEE,0x01,0x1C,0x03,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x03,0x1C,0x03,0xEC,0x01,0x0C,0x00,0x0C,0x00,0x3E,0x00},/*"p",80*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x02,0x8C,0x03,0x0C,0x03,0x06,0x03,0x06,0x03,0x06,0x03,0x06,0x03,0x06,0x03,0x04,0x03,0x8C,0x03,0x78,0x03,0x00,0x03,0x00,0x03,0xC0,0x07},/*"q",81*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9F,0x03,0x58,0x06,0x38,0x06,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"r",82*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x1C,0x03,0x0C,0x02,0x0C,0x02,0x38,0x00,0xF0,0x00,0xC0,0x03,0x04,0x03,0x04,0x03,0x8C,0x03,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"s",83*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x30,0x00,0x30,0x00,0xFE,0x01,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x02,0x30,0x02,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"t",84*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x02,0x8E,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x9C,0x07,0x78,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"u",85*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x07,0x0C,0x02,0x08,0x01,0x08,0x01,0x18,0x01,0x90,0x00,0xB0,0x00,0xB0,0x00,0x60,0x00,0x60,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"v",86*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF7,0x0E,0x62,0x04,0x46,0x04,0x64,0x02,0x64,0x02,0xEC,0x02,0x9C,0x01,0x98,0x01,0x98,0x01,0x98,0x01,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"w",87*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBC,0x07,0x18,0x01,0x10,0x01,0xB0,0x00,0x60,0x00,0x60,0x00,0xE0,0x00,0x90,0x00,0x08,0x01,0x08,0x03,0x9E,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"x",88*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9E,0x07,0x08,0x01,0x08,0x01,0x08,0x01,0x90,0x00,0x90,0x00,0xB0,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x20,0x00,0x20,0x00,0x24,0x00,0x1C,0x00},/*"y",89*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0x84,0x01,0xC4,0x00,0x44,0x00,0x60,0x00,0x20,0x00,0x30,0x00,0x18,0x02,0x08,0x02,0x0C,0x03,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"z",90*/
{0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x40,0x00,0x20,0x00,0x40,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00,0x03,0x00,0x00},/*"{",91*/
{0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00},/*"|",92*/
{0x00,0x00,0x00,0x00,0x0C,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x20,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x0C,0x00,0x00,0x00},/*"}",93*/
{0x00,0x00,0x1C,0x00,0x22,0x04,0xC2,0x04,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/
};
#endif

View File

@ -1,338 +0,0 @@
#include "oled.h"
#include "stdlib.h"
#include "oledfont.h"
#include "delay.h"
/**********************************************
//IIC Start
**********************************************/
void IIC_Start(void)
{
OLED_SCLK_Set();
OLED_SDIN_Set();
OLED_SDIN_Clr();
OLED_SCLK_Clr();
}
/**********************************************
//IIC Stop
**********************************************/
void IIC_Stop(void)
{
OLED_SCLK_Set() ;
// OLED_SCLK_Clr();
OLED_SDIN_Clr();
OLED_SDIN_Set();
}
void IIC_Wait_Ack(void)
{
OLED_SCLK_Set() ;
OLED_SCLK_Clr();
}
/**********************************************
// IIC Write byte
**********************************************/
void Write_IIC_Byte(unsigned char IIC_Byte)
{
unsigned char i;
unsigned char m,da;
da=IIC_Byte;
OLED_SCLK_Clr();
for(i=0;i<8;i++)
{
m=da;
// OLED_SCLK_Clr();
m=m&0x80;
if(m==0x80)
{OLED_SDIN_Set();}
else OLED_SDIN_Clr();
da=da<<1;
OLED_SCLK_Set();
OLED_SCLK_Clr();
}
}
/**********************************************
// IIC Write Command
**********************************************/
void Write_IIC_Command(unsigned char IIC_Command)
{
IIC_Start();
Write_IIC_Byte(0x78); //Slave address,SA0=0
IIC_Wait_Ack();
Write_IIC_Byte(0x00); //write command
IIC_Wait_Ack();
Write_IIC_Byte(IIC_Command);
IIC_Wait_Ack();
IIC_Stop();
}
/**********************************************
// IIC Write Data
**********************************************/
void Write_IIC_Data(unsigned char IIC_Data)
{
IIC_Start();
Write_IIC_Byte(0x78); //D/C#=0; R/W#=0
IIC_Wait_Ack();
Write_IIC_Byte(0x40); //write data
IIC_Wait_Ack();
Write_IIC_Byte(IIC_Data);
IIC_Wait_Ack();
IIC_Stop();
}
void OLED_WR_Byte(unsigned dat,unsigned cmd)
{
if(cmd)
{
Write_IIC_Data(dat);
}
else {
Write_IIC_Command(dat);
}
}
/********************************************
// fill_Picture
********************************************/
void fill_picture(unsigned char fill_Data)
{
unsigned char m,n;
for(m=0;m<8;m++)
{
OLED_WR_Byte(0xb0+m,0); //page0-page1
OLED_WR_Byte(0x00,0); //low column start address
OLED_WR_Byte(0x10,0); //high column start address
for(n=0;n<128;n++)
{
OLED_WR_Byte(fill_Data,1);
}
}
}
/***********************Delay****************************************/
void Delay_50ms(unsigned int Del_50ms)
{
unsigned int m;
for(;Del_50ms>0;Del_50ms--)
for(m=6245;m>0;m--);
}
void Delay_1ms(unsigned int Del_1ms)
{
unsigned char j;
while(Del_1ms--)
{
for(j=0;j<123;j++);
}
}
//坐标设置
void OLED_Set_Pos(unsigned char x, unsigned char y)
{
OLED_WR_Byte(0xb0+y,OLED_CMD);
OLED_WR_Byte(((x&0xf0)>>4)|0x10,OLED_CMD);
OLED_WR_Byte((x&0x0f),OLED_CMD);
}
//开启OLED显示
void OLED_Display_On(void)
{
OLED_WR_Byte(0X8D,OLED_CMD); //SET DCDC命令
OLED_WR_Byte(0X14,OLED_CMD); //DCDC ON
OLED_WR_Byte(0XAF,OLED_CMD); //DISPLAY ON
}
//关闭OLED显示
void OLED_Display_Off(void)
{
OLED_WR_Byte(0X8D,OLED_CMD); //SET DCDC命令
OLED_WR_Byte(0X10,OLED_CMD); //DCDC OFF
OLED_WR_Byte(0XAE,OLED_CMD); //DISPLAY OFF
}
//清屏函数,清完屏,整个屏幕是黑色的!和没点亮一样!!!
void OLED_Clear(void)
{
u8 i,n;
for(i=0;i<8;i++)
{
OLED_WR_Byte (0xb0+i,OLED_CMD); //设置页地址0~7
OLED_WR_Byte (0x00,OLED_CMD); //设置显示位置—列低地址
OLED_WR_Byte (0x10,OLED_CMD); //设置显示位置—列高地址
for(n=0;n<128;n++)OLED_WR_Byte(0,OLED_DATA);
} //更新显示
}
void OLED_On(void)
{
u8 i,n;
for(i=0;i<8;i++)
{
OLED_WR_Byte (0xb0+i,OLED_CMD); //设置页地址0~7
OLED_WR_Byte (0x00,OLED_CMD); //设置显示位置—列低地址
OLED_WR_Byte (0x10,OLED_CMD); //设置显示位置—列高地址
for(n=0;n<128;n++)OLED_WR_Byte(1,OLED_DATA);
} //更新显示
}
//在指定位置显示一个字符,包括部分字符
//x:0~127
//y:0~63
//mode:0,反白显示;1,正常显示
//size:选择字体 16/12
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 Char_Size)
{
unsigned char c=0,i=0;
c=chr-' ';//得到偏移后的值
if(x>Max_Column-1){x=0;y=y+2;}
if(Char_Size ==16)
{
OLED_Set_Pos(x,y);
for(i=0;i<8;i++)
OLED_WR_Byte(F8X16[c*16+i],OLED_DATA);
OLED_Set_Pos(x,y+1);
for(i=0;i<8;i++)
OLED_WR_Byte(F8X16[c*16+i+8],OLED_DATA);
}
else
{
OLED_Set_Pos(x,y);
for(i=0;i<6;i++)
OLED_WR_Byte(F6x8[c][i],OLED_DATA);
}
}
//m^n函数
u32 oled_pow(u8 m,u8 n)
{
u32 result=1;
while(n--)result*=m;
return result;
}
//显示2个数字
//x,y :起点坐标
//len :数字的位数
//size:字体大小
//mode:模式 0,填充模式;1,叠加模式
//num:数值(0~4294967295);
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size2)
{
u8 t,temp;
u8 enshow=0;
for(t=0;t<len;t++)
{
temp=(num/oled_pow(10,len-t-1))%10;
if(enshow==0&&t<(len-1))
{
if(temp==0)
{
OLED_ShowChar(x+(size2/2)*t,y,' ',size2);
continue;
}else enshow=1;
}
OLED_ShowChar(x+(size2/2)*t,y,temp+'0',size2);
}
}
//显示一个字符号串
void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 Char_Size)
{
unsigned char j=0;
while (chr[j]!='\0')
{ OLED_ShowChar(x,y,chr[j],Char_Size);
x+=8;
if(x>120){x=0;y+=2;}
j++;
}
}
//显示汉字
void OLED_ShowCHinese(u8 x,u8 y,u8 no)
{
u8 t,adder=0;
OLED_Set_Pos(x,y);
for(t=0;t<16;t++)
{
OLED_WR_Byte(Hzk[2*no][t],OLED_DATA);
adder+=1;
}
OLED_Set_Pos(x,y+1);
for(t=0;t<16;t++)
{
OLED_WR_Byte(Hzk[2*no+1][t],OLED_DATA);
adder+=1;
}
}
/***********功能描述显示显示BMP图片128×64起始点坐标(x,y),x的范围0127y为页的范围07*****************/
void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[])
{
unsigned int j=0;
unsigned char x,y;
if(y1%8==0) y=y1/8;
else y=y1/8+1;
for(y=y0;y<y1;y++)
{
OLED_Set_Pos(x0,y);
for(x=x0;x<x1;x++)
{
OLED_WR_Byte(BMP[j++],OLED_DATA);
}
}
}
//初始化SSD1306
void OLED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能A端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//速度50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化GPIOD3,6
GPIO_SetBits(GPIOB,GPIO_Pin_4|GPIO_Pin_3);
delay_ms(800);
OLED_WR_Byte(0xAE,OLED_CMD);//--display off
OLED_WR_Byte(0x00,OLED_CMD);//---set low column address
OLED_WR_Byte(0x10,OLED_CMD);//---set high column address
OLED_WR_Byte(0x40,OLED_CMD);//--set start line address
OLED_WR_Byte(0xB0,OLED_CMD);//--set page address
OLED_WR_Byte(0x81,OLED_CMD); // contract control
OLED_WR_Byte(0xFF,OLED_CMD);//--128
OLED_WR_Byte(0xA1,OLED_CMD);//set segment remap
OLED_WR_Byte(0xA6,OLED_CMD);//--normal / reverse
OLED_WR_Byte(0xA8,OLED_CMD);//--set multiplex ratio(1 to 64)
OLED_WR_Byte(0x3F,OLED_CMD);//--1/32 duty
OLED_WR_Byte(0xC8,OLED_CMD);//Com scan direction
OLED_WR_Byte(0xD3,OLED_CMD);//-set display offset
OLED_WR_Byte(0x00,OLED_CMD);//
OLED_WR_Byte(0xD5,OLED_CMD);//set osc division
OLED_WR_Byte(0x80,OLED_CMD);//
OLED_WR_Byte(0xD8,OLED_CMD);//set area color mode off
OLED_WR_Byte(0x05,OLED_CMD);//
OLED_WR_Byte(0xD9,OLED_CMD);//Set Pre-Charge Period
OLED_WR_Byte(0xF1,OLED_CMD);//
OLED_WR_Byte(0xDA,OLED_CMD);//set com pin configuartion
OLED_WR_Byte(0x12,OLED_CMD);//
OLED_WR_Byte(0xDB,OLED_CMD);//set Vcomh
OLED_WR_Byte(0x30,OLED_CMD);//
OLED_WR_Byte(0x8D,OLED_CMD);//set charge pump enable
OLED_WR_Byte(0x14,OLED_CMD);//
OLED_WR_Byte(0xAF,OLED_CMD);//--turn on oled panel
}

View File

@ -1,59 +0,0 @@
#ifndef __OLED_H
#define __OLED_H
#include "sys.h"
#include "stdlib.h"
#define OLED_MODE 0
#define SIZE 8
#define XLevelL 0x00
#define XLevelH 0x10
#define Max_Column 128
#define Max_Row 64
#define Brightness 0xFF
#define X_WIDTH 128
#define Y_WIDTH 64
#define OLED_SCLK_Clr() GPIO_ResetBits(GPIOB,GPIO_Pin_4)//SCL
#define OLED_SCLK_Set() GPIO_SetBits(GPIOB,GPIO_Pin_4)
#define OLED_SDIN_Clr() GPIO_ResetBits(GPIOB,GPIO_Pin_3)//SDA
#define OLED_SDIN_Set() GPIO_SetBits(GPIOB,GPIO_Pin_3)
#define OLED_CMD 0 //写命令
#define OLED_DATA 1 //写数据
//OLED控制用函数
void OLED_WR_Byte(unsigned dat,unsigned cmd);
void OLED_Display_On(void);
void OLED_Display_Off(void);
void OLED_Init(void);
void OLED_Clear(void);
void OLED_DrawPoint(u8 x,u8 y,u8 t);
void OLED_Fill(u8 x1,u8 y1,u8 x2,u8 y2,u8 dot);
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 Char_Size);
void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size);
void OLED_ShowString(u8 x,u8 y, u8 *p,u8 Char_Size);
void OLED_Set_Pos(unsigned char x, unsigned char y);
void OLED_ShowCHinese(u8 x,u8 y,u8 no);
void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[]);
void Delay_50ms(unsigned int Del_50ms);
void Delay_1ms(unsigned int Del_1ms);
void fill_picture(unsigned char fill_Data);
void IIC_Start(void);
void IIC_Stop(void);
void Write_IIC_Command(unsigned char IIC_Command);
void Write_IIC_Data(unsigned char IIC_Data);
void Write_IIC_Byte(unsigned char IIC_Byte);
void IIC_Wait_Ack(void);
#endif

View File

@ -1,242 +0,0 @@
#ifndef __OLEDFONT_H
#define __OLEDFONT_H
//常用ASCII表
//偏移量32
//ASCII字符集
//偏移量32
//大小:12*6
/************************************6*8的点阵************************************/
const unsigned char F6x8[][6] =
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00,// sp
0x00, 0x00, 0x00, 0x2f, 0x00, 0x00,// !
0x00, 0x00, 0x07, 0x00, 0x07, 0x00,// "
0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14,// #
0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12,// $
0x00, 0x62, 0x64, 0x08, 0x13, 0x23,// %
0x00, 0x36, 0x49, 0x55, 0x22, 0x50,// &
0x00, 0x00, 0x05, 0x03, 0x00, 0x00,// '
0x00, 0x00, 0x1c, 0x22, 0x41, 0x00,// (
0x00, 0x00, 0x41, 0x22, 0x1c, 0x00,// )
0x00, 0x14, 0x08, 0x3E, 0x08, 0x14,// *
0x00, 0x08, 0x08, 0x3E, 0x08, 0x08,// +
0x00, 0x00, 0x00, 0xA0, 0x60, 0x00,// ,
0x00, 0x08, 0x08, 0x08, 0x08, 0x08,// -
0x00, 0x00, 0x60, 0x60, 0x00, 0x00,// .
0x00, 0x20, 0x10, 0x08, 0x04, 0x02,// /
0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0
0x00, 0x00, 0x42, 0x7F, 0x40, 0x00,// 1
0x00, 0x42, 0x61, 0x51, 0x49, 0x46,// 2
0x00, 0x21, 0x41, 0x45, 0x4B, 0x31,// 3
0x00, 0x18, 0x14, 0x12, 0x7F, 0x10,// 4
0x00, 0x27, 0x45, 0x45, 0x45, 0x39,// 5
0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6
0x00, 0x01, 0x71, 0x09, 0x05, 0x03,// 7
0x00, 0x36, 0x49, 0x49, 0x49, 0x36,// 8
0x00, 0x06, 0x49, 0x49, 0x29, 0x1E,// 9
0x00, 0x00, 0x36, 0x36, 0x00, 0x00,// :
0x00, 0x00, 0x56, 0x36, 0x00, 0x00,// ;
0x00, 0x08, 0x14, 0x22, 0x41, 0x00,// <
0x00, 0x14, 0x14, 0x14, 0x14, 0x14,// =
0x00, 0x00, 0x41, 0x22, 0x14, 0x08,// >
0x00, 0x02, 0x01, 0x51, 0x09, 0x06,// ?
0x00, 0x32, 0x49, 0x59, 0x51, 0x3E,// @
0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C,// A
0x00, 0x7F, 0x49, 0x49, 0x49, 0x36,// B
0x00, 0x3E, 0x41, 0x41, 0x41, 0x22,// C
0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C,// D
0x00, 0x7F, 0x49, 0x49, 0x49, 0x41,// E
0x00, 0x7F, 0x09, 0x09, 0x09, 0x01,// F
0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A,// G
0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F,// H
0x00, 0x00, 0x41, 0x7F, 0x41, 0x00,// I
0x00, 0x20, 0x40, 0x41, 0x3F, 0x01,// J
0x00, 0x7F, 0x08, 0x14, 0x22, 0x41,// K
0x00, 0x7F, 0x40, 0x40, 0x40, 0x40,// L
0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F,// M
0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F,// N
0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E,// O
0x00, 0x7F, 0x09, 0x09, 0x09, 0x06,// P
0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q
0x00, 0x7F, 0x09, 0x19, 0x29, 0x46,// R
0x00, 0x46, 0x49, 0x49, 0x49, 0x31,// S
0x00, 0x01, 0x01, 0x7F, 0x01, 0x01,// T
0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F,// U
0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F,// V
0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F,// W
0x00, 0x63, 0x14, 0x08, 0x14, 0x63,// X
0x00, 0x07, 0x08, 0x70, 0x08, 0x07,// Y
0x00, 0x61, 0x51, 0x49, 0x45, 0x43,// Z
0x00, 0x00, 0x7F, 0x41, 0x41, 0x00,// [
0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55,// 55
0x00, 0x00, 0x41, 0x41, 0x7F, 0x00,// ]
0x00, 0x04, 0x02, 0x01, 0x02, 0x04,// ^
0x00, 0x40, 0x40, 0x40, 0x40, 0x40,// _
0x00, 0x00, 0x01, 0x02, 0x04, 0x00,// '
0x00, 0x20, 0x54, 0x54, 0x54, 0x78,// a
0x00, 0x7F, 0x48, 0x44, 0x44, 0x38,// b
0x00, 0x38, 0x44, 0x44, 0x44, 0x20,// c
0x00, 0x38, 0x44, 0x44, 0x48, 0x7F,// d
0x00, 0x38, 0x54, 0x54, 0x54, 0x18,// e
0x00, 0x08, 0x7E, 0x09, 0x01, 0x02,// f
0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C,// g
0x00, 0x7F, 0x08, 0x04, 0x04, 0x78,// h
0x00, 0x00, 0x44, 0x7D, 0x40, 0x00,// i
0x00, 0x40, 0x80, 0x84, 0x7D, 0x00,// j
0x00, 0x7F, 0x10, 0x28, 0x44, 0x00,// k
0x00, 0x00, 0x41, 0x7F, 0x40, 0x00,// l
0x00, 0x7C, 0x04, 0x18, 0x04, 0x78,// m
0x00, 0x7C, 0x08, 0x04, 0x04, 0x78,// n
0x00, 0x38, 0x44, 0x44, 0x44, 0x38,// o
0x00, 0xFC, 0x24, 0x24, 0x24, 0x18,// p
0x00, 0x18, 0x24, 0x24, 0x18, 0xFC,// q
0x00, 0x7C, 0x08, 0x04, 0x04, 0x08,// r
0x00, 0x48, 0x54, 0x54, 0x54, 0x20,// s
0x00, 0x04, 0x3F, 0x44, 0x40, 0x20,// t
0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C,// u
0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C,// v
0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C,// w
0x00, 0x44, 0x28, 0x10, 0x28, 0x44,// x
0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C,// y
0x00, 0x44, 0x64, 0x54, 0x4C, 0x44,// z
0x14, 0x14, 0x14, 0x14, 0x14, 0x14,// horiz lines
};
/****************************************8*16的点阵************************************/
const unsigned char F8X16[]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 0
0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,//! 1
0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//" 2
0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,//# 3
0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00,//$ 4
0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,//% 5
0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10,//& 6
0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//' 7
0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00,//( 8
0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00,//) 9
0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00,//* 10
0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00,//+ 11
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,//, 12
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,//- 13
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,//. 14
0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,/// 15
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//0 16
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//1 17
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//2 18
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//3 19
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//4 20
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//5 21
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//6 22
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//7 23
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//8 24
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//9 25
0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//: 26
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,//; 27
0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00,//< 28
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,//= 29
0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00,//> 30
0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,//? 31
0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00,//@ 32
0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,//A 33
0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,//B 34
0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,//C 35
0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,//D 36
0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,//E 37
0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,//F 38
0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,//G 39
0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,//H 40
0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//I 41
0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,//J 42
0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,//K 43
0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,//L 44
0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,//M 45
0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,//N 46
0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,//O 47
0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,//P 48
0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,//Q 49
0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,//R 50
0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,//S 51
0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//T 52
0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//U 53
0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,//V 54
0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,//W 55
0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,//X 56
0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//Y 57
0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,//Z 58
0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,//[ 59
0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,//\ 60
0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,//] 61
0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//^ 62
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,//_ 63
0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//` 64
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,//a 65
0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,//b 66
0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,//c 67
0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,//d 68
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,//e 69
0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//f 70
0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,//g 71
0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//h 72
0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//i 73
0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,//j 74
0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,//k 75
0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//l 76
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,//m 77
0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//n 78
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//o 79
0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,//p 80
0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,//q 81
0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,//r 82
0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,//s 83
0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,//t 84
0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,//u 85
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,//v 86
0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,//w 87
0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,//x 88
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,//y 89
0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,//z 90
0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,//{ 91
0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,//| 92
0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,//} 93
0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//~ 94
};
char Hzk[][32]={
{0x08,0x20,0x06,0x20,0x40,0x7E,0x31,0x80,0x00,0x02,0x00,0x7E,0x7F,0x42,0x49,0x42},
{0x49,0x7E,0x49,0x42,0x49,0x7E,0x49,0x42,0x7F,0x42,0x00,0x7E,0x00,0x02,0x00,0x00},/*"温",0*/
{0x00,0x02,0x00,0x0C,0x3F,0xF1,0x24,0x01,0x24,0x21,0x24,0x32,0x3F,0xAA,0xA4,0xA4},
{0x64,0xA4,0x24,0xA4,0x3F,0xAA,0x24,0x32,0x24,0x01,0x24,0x01,0x20,0x01,0x00,0x00},/*"度",1*/
{0x08,0x20,0x06,0x20,0x40,0x7E,0x31,0x80,0x00,0x22,0x7F,0x12,0x49,0x0A,0x49,0xFE},
{0x49,0x02,0x49,0x02,0x49,0xFE,0x49,0x0A,0x7F,0x12,0x00,0x22,0x00,0x02,0x00,0x00},/*"湿",2*/
{0x00,0x02,0x00,0x0C,0x3F,0xF1,0x24,0x01,0x24,0x21,0x24,0x32,0x3F,0xAA,0xA4,0xA4},
{0x64,0xA4,0x24,0xA4,0x3F,0xAA,0x24,0x32,0x24,0x01,0x24,0x01,0x20,0x01,0x00,0x00},/*"度",3*/
{0x60,0x00,0x90,0x00,0x90,0x00,0x67,0xE0,0x1F,0xF8,0x30,0x0C,0x20,0x04,0x40,0x02},
{0x40,0x02,0x40,0x02,0x40,0x02,0x40,0x02,0x20,0x04,0x78,0x08,0x00,0x00,0x00,0x00},/*"℃",4*/
{0x04,0x24,0x44,0x84,0x64,0x9C,0x40,0x30,0x0F,0xC8,0x08,0x08,0x28,0x18,0x00,0x00},
{0x10,0x08,0x06,0x01,0x82,0x4C,0x20,0x18,0x06,0x01,0x06,0x18,0x20,0x40,0x80,0x00},/*"欢",11*/
/* (16 X 16 , 宋体 )*/
{0x40,0x40,0x42,0xCC,0x00,0x00,0xFC,0x04,0x02,0x00,0xFC,0x04,0x04,0xFC,0x00,0x00},
{0x00,0x40,0x20,0x1F,0x20,0x40,0x4F,0x44,0x42,0x40,0x7F,0x42,0x44,0x43,0x40,0x00},/*"迎",12*/
/* (16 X 16 , 宋体 )*/
{0x00,0x00,0xFE,0x02,0x02,0xF2,0x12,0x12,0x12,0xF2,0x02,0x02,0xFE,0x00,0x00,0x00},
{0x00,0x00,0x7F,0x20,0x20,0x27,0x24,0x24,0x24,0x27,0x20,0x20,0x7F,0x00,0x00,0x00},/*"回",13*/
/* (16 X 16 , 宋体 )*/
{0x10,0x2C,0x24,0x24,0xA4,0xA4,0x65,0xA6,0x24,0x24,0x24,0x24,0xA4,0x34,0x0C,0x00},
{0x40,0x49,0x49,0x29,0x24,0x14,0x52,0x89,0x7F,0x04,0x0A,0x11,0x10,0x20,0x20,0x00},/*"家",14*/
/* (16 X 16 , 宋体 )*/
{0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"",15*/
/* (16 X 16 , 宋体 )*/
};
#endif

View File

@ -1,116 +0,0 @@
#include "dht11.h"
#include "delay.h"
//复位DHT11
void DHT11_Rst(void)
{
DHT11_IO_MODE_OUT(); //SET OUTPUT
DHT11_DATA_OUT=0; //拉低DQ
delay_ms(20); //拉低至少18ms
DHT11_DATA_OUT=1; //DQ=1
delay_us(30); //主机拉高20~40us
}
//等待DHT11的回应
//返回1:未检测到DHT11的存在
//返回0:存在
u8 DHT11_Check(void)
{
u8 retry=0;
DHT11_IO_MODE_IN();//SET INPUT
while (DHT11_DATA_IN&&retry<100)//DHT11会拉低40~80us
{
retry++;
delay_us(1);
}
if(retry>=100)return 1;
else retry=0;
while (!DHT11_DATA_IN&&retry<100)//DHT11拉低后会再次拉高40~80us
{
retry++;
delay_us(1);
}
if(retry>=100)
return 1;
return 0;
}
//从DHT11读取一个位
//返回值1/0
u8 DHT11_Read_Bit(void)
{
u8 retry=0;
while(DHT11_DATA_IN&&retry<100)//等待变为低电平
{
retry++;
delay_us(1);
}
retry=0;
while(!DHT11_DATA_IN&&retry<100)//等待变高电平
{
retry++;
delay_us(1);
}
delay_us(40);//等待40us
if(DHT11_DATA_IN)return 1;
else return 0;
}
//从DHT11读取一个字节
//返回值:读到的数据
u8 DHT11_Read_Byte(void)
{
u8 i,dat;
dat=0;
for (i=0;i<8;i++)
{
dat<<=1;
dat|=DHT11_Read_Bit();
}
return dat;
}
//从DHT11读取一次数据
//temp:温度值(范围:0~50°)
//humi:湿度值(范围:20%~90%)
//返回值0,正常;1,读取失败
u8 DHT11_Read_Data(u8 *temp,u8 *humi)
{
u8 buf[5];
u8 i;
DHT11_Rst();
if(DHT11_Check()==0)
{
for(i=0;i<5;i++)//读取40位数据
{
buf[i]=DHT11_Read_Byte();
}
if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4])
{
*humi=buf[0];
*temp=buf[2];
}
}else return 1;
return 0;
}
//初始化DHT11的IO口 DQ 同时检测DHT11的存在
//返回1:不存在
//返回0:存在
u8 DHT11_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能PA端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11; //PA11端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化IO口
GPIO_SetBits(GPIOA,GPIO_Pin_11); //PA11 输出高
DHT11_Rst(); //复位DHT11
return DHT11_Check();//等待DHT11的回应 1:没响应 0:存在
}

View File

@ -1,20 +0,0 @@
#ifndef __DHT11_H
#define __DHT11_H
#include "sys.h"
//IO方向设置
#define DHT11_IO_MODE_IN() {GPIOA->CRH&=0XFFFF0FFF;GPIOA->CRH|=8<<12;}//GPIOB->CRL&=0X0FFFFFFF; CRH:高八位 CRL:低八位 四个BIT一位 0FFF FFFF
#define DHT11_IO_MODE_OUT() {GPIOA->CRH&=0XFFFF0FFF;GPIOA->CRH|=3<<12;}
////IO操作函数
#define DHT11_DATA_OUT PAout(11) //数据端口 PA11
#define DHT11_DATA_IN PAin(11) //数据端口 PA11
u8 DHT11_Init(void);//初始化DHT11
u8 DHT11_Read_Data(u8 *temp,u8 *humi);//读取温湿度
u8 DHT11_Read_Byte(void);//读出一个字节
u8 DHT11_Read_Bit(void);//读出一个位
u8 DHT11_Check(void);//检测是否存在DHT11
void DHT11_Rst(void);//复位DHT11
#endif

View File

@ -1,616 +0,0 @@
//////////////////////////////////////////////////////////////////////////////////
#include "string.h"
#include "delay.h"
#include "usart.h"
#include "fp.h"
u32 AS608Addr = 0XFFFFFFFF; //默认
//初始化PA8为下拉输入
//读摸出感应状态(触摸感应时输出高电平信号)
void PS_StaGPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能USART1GPIOA时钟
//初始化读状态引脚GPIOA8
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //IPD 下拉输入
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIO
}
//串口发送一个字节
static void MYUSART_SendData(u8 data)
{
while((USART2->SR&0X40)==0);
USART2->DR = data;
}
//发送包头
static void SendHead(void)
{
MYUSART_SendData(0xEF);
MYUSART_SendData(0x01);
}
//发送地址
static void SendAddr(void)
{
MYUSART_SendData(AS608Addr>>24);
MYUSART_SendData(AS608Addr>>16);
MYUSART_SendData(AS608Addr>>8);
MYUSART_SendData(AS608Addr);
}
//发送包标识
static void SendFlag(u8 flag)
{
MYUSART_SendData(flag);
}
//发送包长度
static void SendLength(int length)
{
MYUSART_SendData(length>>8);
MYUSART_SendData(length);
}
//发送指令码
static void Sendcmd(u8 cmd)
{
MYUSART_SendData(cmd);
}
//发送校验和
static void SendCheck(u16 check)
{
MYUSART_SendData(check>>8);
MYUSART_SendData(check);
}
//判断中断接收的数组有没有应答包
//waittime为等待中断接收数据的时间单位1ms
//返回值:数据包首地址
static u8 *JudgeStr(u16 waittime)
{
char *data;
u8 str[8];
str[0]=0xef; str[1]=0x01;
str[2]=AS608Addr>>24; str[3]=AS608Addr>>16;
str[4]=AS608Addr>>8; str[5]=AS608Addr;
str[6]=0x07; str[7]='\0';
USART2_RX_STA=0;
while(--waittime)
{
delay_ms(1);
if(USART2_RX_STA&0X8000)//接收到一次数据
{
USART2_RX_STA=0;
data=strstr((const char*)USART2_RX_BUF,(const char*)str);
if(data)
return (u8*)data;
}
}
return 0;
}
//录入图像 PS_GetImage
//功能:探测手指探测到后录入指纹图像存于ImageBuffer。
//模块返回确认字
u8 PS_GetImage(void)
{
u16 temp;
u8 ensure;
u8 *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x03);
Sendcmd(0x01);
temp = 0x01+0x03+0x01;
SendCheck(temp);
data=JudgeStr(2000);
if(data)
ensure=data[9];
else
ensure=0xff;
return ensure;
}
//生成特征 PS_GenChar
//功能:将ImageBuffer中的原始图像生成指纹特征文件存于CharBuffer1或CharBuffer2
//参数:BufferID --> charBuffer1:0x01 charBuffer1:0x02
//模块返回确认字
u8 PS_GenChar(u8 BufferID)
{
u16 temp;
u8 ensure;
u8 *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x04);
Sendcmd(0x02);
MYUSART_SendData(BufferID);
temp = 0x01+0x04+0x02+BufferID;
SendCheck(temp);
data=JudgeStr(2000);
if(data)
ensure=data[9];
else
ensure=0xff;
return ensure;
}
//精确比对两枚指纹特征 PS_Match
//功能:精确比对CharBuffer1 与CharBuffer2 中的特征文件
//模块返回确认字
u8 PS_Match(void)
{
u16 temp;
u8 ensure;
u8 *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x03);
Sendcmd(0x03);
temp = 0x01+0x03+0x03;
SendCheck(temp);
data=JudgeStr(2000);
if(data)
ensure=data[9];
else
ensure=0xff;
return ensure;
}
//搜索指纹 PS_Search
//功能:以CharBuffer1或CharBuffer2中的特征文件搜索整个或部分指纹库.若搜索到,则返回页码。
//参数: BufferID @ref CharBuffer1 CharBuffer2
//说明: 模块返回确认字,页码(相配指纹模板)
u8 PS_Search(u8 BufferID,u16 StartPage,u16 PageNum,SearchResult *p)
{
u16 temp;
u8 ensure;
u8 *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x08);
Sendcmd(0x04);
MYUSART_SendData(BufferID);
MYUSART_SendData(StartPage>>8);
MYUSART_SendData(StartPage);
MYUSART_SendData(PageNum>>8);
MYUSART_SendData(PageNum);
temp = 0x01+0x08+0x04+BufferID
+(StartPage>>8)+(u8)StartPage
+(PageNum>>8)+(u8)PageNum;
SendCheck(temp);
data=JudgeStr(2000);
if(data)
{
ensure = data[9];
p->pageID =(data[10]<<8)+data[11];
p->mathscore=(data[12]<<8)+data[13];
}
else
ensure = 0xff;
return ensure;
}
//合并特征生成模板PS_RegModel
//功能:将CharBuffer1与CharBuffer2中的特征文件合并生成 模板,结果存于CharBuffer1与CharBuffer2
//说明: 模块返回确认字
u8 PS_RegModel(void)
{
u16 temp;
u8 ensure;
u8 *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x03);
Sendcmd(0x05);
temp = 0x01+0x03+0x05;
SendCheck(temp);
data=JudgeStr(2000);
if(data)
ensure=data[9];
else
ensure=0xff;
return ensure;
}
//储存模板 PS_StoreChar
//功能:将 CharBuffer1 或 CharBuffer2 中的模板文件存到 PageID 号flash数据库位置。
//参数: BufferID @ref charBuffer1:0x01 charBuffer1:0x02
// PageID指纹库位置号
//说明: 模块返回确认字
u8 PS_StoreChar(u8 BufferID,u16 PageID)
{
u16 temp;
u8 ensure;
u8 *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x06);
Sendcmd(0x06);
MYUSART_SendData(BufferID);
MYUSART_SendData(PageID>>8);
MYUSART_SendData(PageID);
temp = 0x01+0x06+0x06+BufferID
+(PageID>>8)+(u8)PageID;
SendCheck(temp);
data=JudgeStr(2000);
if(data)
ensure=data[9];
else
ensure=0xff;
return ensure;
}
//删除模板 PS_DeletChar
//功能: 删除flash数据库中指定ID号开始的N个指纹模板
//参数: PageID(指纹库模板号)N删除的模板个数。
//说明: 模块返回确认字
u8 PS_DeletChar(u16 PageID,u16 N)
{
u16 temp;
u8 ensure;
u8 *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x07);
Sendcmd(0x0C);
MYUSART_SendData(PageID>>8);
MYUSART_SendData(PageID);
MYUSART_SendData(N>>8);
MYUSART_SendData(N);
temp = 0x01+0x07+0x0C
+(PageID>>8)+(u8)PageID
+(N>>8)+(u8)N;
SendCheck(temp);
data=JudgeStr(2000);
if(data)
ensure=data[9];
else
ensure=0xff;
return ensure;
}
//清空指纹库 PS_Empty
//功能: 删除flash数据库中所有指纹模板
//参数: 无
//说明: 模块返回确认字
u8 PS_Empty(void)
{
u16 temp;
u8 ensure;
u8 *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x03);
Sendcmd(0x0D);
temp = 0x01+0x03+0x0D;
SendCheck(temp);
data=JudgeStr(2000);
if(data)
ensure=data[9];
else
ensure=0xff;
return ensure;
}
//写系统寄存器 PS_WriteReg
//功能: 写模块寄存器
//参数: 寄存器序号RegNum:4\5\6
//说明: 模块返回确认字
u8 PS_WriteReg(u8 RegNum,u8 DATA)
{
u16 temp;
u8 ensure;
u8 *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x05);
Sendcmd(0x0E);
MYUSART_SendData(RegNum);
MYUSART_SendData(DATA);
temp = RegNum+DATA+0x01+0x05+0x0E;
SendCheck(temp);
data=JudgeStr(2000);
if(data)
ensure=data[9];
else
ensure=0xff;
if(ensure==0)
printf("\r\n设置参数成功!");
else
printf("\r\n%s",EnsureMessage(ensure));
return ensure;
}
//读系统基本参数 PS_ReadSysPara
//功能: 读取模块的基本参数(波特率,包大小等)
//参数: 无
//说明: 模块返回确认字 + 基本参数16bytes
u8 PS_ReadSysPara(SysPara *p)
{
u16 temp;
u8 ensure;
u8 *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x03);
Sendcmd(0x0F);
temp = 0x01+0x03+0x0F;
SendCheck(temp);
data=JudgeStr(1000);
if(data)
{
ensure = data[9];
p->PS_max = (data[14]<<8)+data[15];
p->PS_level = data[17];
p->PS_addr=(data[18]<<24)+(data[19]<<16)+(data[20]<<8)+data[21];
p->PS_size = data[23];
p->PS_N = data[25];
}
else
ensure=0xff;
if(ensure==0x00)
{
printf("\r\n模块最大指纹容量=%d",p->PS_max);
printf("\r\n对比等级=%d",p->PS_level);
printf("\r\n地址=%x",p->PS_addr);
printf("\r\n波特率=%d",p->PS_N*9600);
}
else
printf("\r\n%s",EnsureMessage(ensure));
return ensure;
}
//设置模块地址 PS_SetAddr
//功能: 设置模块地址
//参数: PS_addr
//说明: 模块返回确认字
u8 PS_SetAddr(u32 PS_addr)
{
u16 temp;
u8 ensure;
u8 *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x07);
Sendcmd(0x15);
MYUSART_SendData(PS_addr>>24);
MYUSART_SendData(PS_addr>>16);
MYUSART_SendData(PS_addr>>8);
MYUSART_SendData(PS_addr);
temp = 0x01+0x07+0x15
+(u8)(PS_addr>>24)+(u8)(PS_addr>>16)
+(u8)(PS_addr>>8) +(u8)PS_addr;
SendCheck(temp);
AS608Addr=PS_addr;//发送完指令,更换地址
data=JudgeStr(2000);
if(data)
ensure=data[9];
else
ensure=0xff;
AS608Addr = PS_addr;
if(ensure==0x00)
printf("\r\n设置地址成功!");
else
printf("\r\n%s",EnsureMessage(ensure));
return ensure;
}
//功能: 模块内部为用户开辟了256bytes的FLASH空间用于存用户记事本,
// 该记事本逻辑上被分成 16 个页。
//参数: NotePageNum(0~15),Byte32(要写入内容32个字节)
//说明: 模块返回确认字
u8 PS_WriteNotepad(u8 NotePageNum,u8 *Byte32)
{
u16 temp;
u8 ensure,i;
u8 *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(36);
Sendcmd(0x18);
MYUSART_SendData(NotePageNum);
for(i=0;i<32;i++)
{
MYUSART_SendData(Byte32[i]);
temp += Byte32[i];
}
temp =0x01+36+0x18+NotePageNum+temp;
SendCheck(temp);
data=JudgeStr(2000);
if(data)
ensure=data[9];
else
ensure=0xff;
return ensure;
}
//读记事PS_ReadNotepad
//功能: 读取FLASH用户区的128bytes数据
//参数: NotePageNum(0~15)
//说明: 模块返回确认字+用户信息
u8 PS_ReadNotepad(u8 NotePageNum,u8 *Byte32)
{
u16 temp;
u8 ensure,i;
u8 *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x04);
Sendcmd(0x19);
MYUSART_SendData(NotePageNum);
temp = 0x01+0x04+0x19+NotePageNum;
SendCheck(temp);
data=JudgeStr(2000);
if(data)
{
ensure=data[9];
for(i=0;i<32;i++)
{
Byte32[i]=data[10+i];
}
}
else
ensure=0xff;
return ensure;
}
//高速搜索PS_HighSpeedSearch
//功能:以 CharBuffer1或CharBuffer2中的特征文件高速搜索整个或部分指纹库。
// 若搜索到,则返回页码,该指令对于的确存在于指纹库中 ,且登录时质量
// 很好的指纹,会很快给出搜索结果。
//参数: BufferID StartPage(起始页)PageNum页数
//说明: 模块返回确认字+页码(相配指纹模板)
u8 PS_HighSpeedSearch(u8 BufferID,u16 StartPage,u16 PageNum,SearchResult *p)
{
u16 temp;
u8 ensure;
u8 *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x08);
Sendcmd(0x1b);
MYUSART_SendData(BufferID);
MYUSART_SendData(StartPage>>8);
MYUSART_SendData(StartPage);
MYUSART_SendData(PageNum>>8);
MYUSART_SendData(PageNum);
temp = 0x01+0x08+0x1b+BufferID
+(StartPage>>8)+(u8)StartPage
+(PageNum>>8)+(u8)PageNum;
SendCheck(temp);
data=JudgeStr(2000);
if(data)
{
ensure=data[9];
p->pageID =(data[10]<<8) +data[11];
p->mathscore=(data[12]<<8) +data[13];
}
else
ensure=0xff;
return ensure;
}
//读有效模板个数 PS_ValidTempleteNum
//功能:读有效模板个数
//参数: 无
//说明: 模块返回确认字+有效模板个数ValidN
u8 PS_ValidTempleteNum(u16 *ValidN)
{
u16 temp;
u8 ensure;
u8 *data;
SendHead();
SendAddr();
SendFlag(0x01);//命令包标识
SendLength(0x03);
Sendcmd(0x1d);
temp = 0x01+0x03+0x1d;
SendCheck(temp);
data=JudgeStr(2000);
if(data)
{
ensure=data[9];
*ValidN = (data[10]<<8) +data[11];
}
else
ensure=0xff;
if(ensure==0x00)
{
printf("\r\n有效指纹个数=%d",(data[10]<<8)+data[11]);
}
else
printf("\r\n%s",EnsureMessage(ensure));
return ensure;
}
//与AS608握手 PS_HandShake
//参数: PS_Addr地址指针
//说明: 模块返新地址(正确地址)
u8 PS_HandShake(u32 *PS_Addr)
{
SendHead();
SendAddr();
MYUSART_SendData(0X01);
MYUSART_SendData(0X00);
MYUSART_SendData(0X00);
delay_ms(200);
if(USART2_RX_STA&0X8000)//接收到数据
{
if(//判断是不是模块返回的应答包
USART2_RX_BUF[0]==0XEF
&&USART2_RX_BUF[1]==0X01
&&USART2_RX_BUF[6]==0X07
)
{
*PS_Addr=(USART2_RX_BUF[2]<<24) + (USART2_RX_BUF[3]<<16)
+(USART2_RX_BUF[4]<<8) + (USART2_RX_BUF[5]);
USART2_RX_STA=0;
return 0;
}
USART2_RX_STA=0;
}
return 1;
}
//模块应答包确认码信息解析
//功能:解析确认码错误信息返回信息
//参数: ensure
const char *EnsureMessage(u8 ensure)
{
const char *p;
switch(ensure)
{
case 0x00:
p="OK";break;
case 0x01:
p="数据包接收错误";break;
case 0x02:
p="传感器上没有手指";break;
case 0x03:
p="录入指纹图像失败";break;
case 0x04:
p="指纹图像太干、太淡而生不成特征";break;
case 0x05:
p="指纹图像太湿、太糊而生不成特征";break;
case 0x06:
p="指纹图像太乱而生不成特征";break;
case 0x07:
p="指纹图像正常,但特征点太少(或面积太小)而生不成特征";break;
case 0x08:
p="指纹不匹配!";break;
// case 0x09:
// p="没搜索到指纹!";break;
case 0x09:
p="指纹不匹配!";break;
case 0x0a:
p="特征合并失败";break;
case 0x0b:
p="访问指纹库时地址序号超出指纹库范围";
case 0x10:
p="删除模板失败";break;
case 0x11:
p="清空指纹库失败";break;
case 0x15:
p="缓冲区内没有有效原始图而生不成图像";break;
case 0x18:
p="读写 FLASH 出错";break;
case 0x19:
p="未定义错误";break;
case 0x1a:
p="无效寄存器号";break;
case 0x1b:
p="寄存器设定内容错误";break;
case 0x1c:
p="记事本页码指定错误";break;
case 0x1f:
p="指纹库满";break;
case 0x20:
p="地址错误";break;
default :
p="模块返回确认码有误";break;
}
return p;
}

View File

@ -1,70 +0,0 @@
#ifndef __FP_H
#define __FP_H
#include "stdio.h"
#include "stm32f10x.h"
#define PS_Sta PAin(8)//读指纹模块状态引脚
#define CharBuffer1 0x01
#define CharBuffer2 0x02
extern u32 AS608Addr;//模块地址
typedef struct
{
uint16_t pageID;//指纹ID
uint16_t mathscore;//匹配得分
}SearchResult;
typedef struct
{
uint16_t PS_max;//指纹最大容量
uint8_t PS_level;//安全等级
uint32_t PS_addr;
uint8_t PS_size;//通讯数据包大小
uint8_t PS_N;//波特率基数N
}SysPara;
void PS_StaGPIO_Init(void);//初始化PA6读状态引脚
u8 PS_GetImage(void); //录入图像
u8 PS_GenChar(u8 BufferID);//生成特征
u8 PS_Match(void);//精确比对两枚指纹特征
u8 PS_Search(u8 BufferID,u16 StartPage,u16 PageNum,SearchResult *p);//搜索指纹
u8 PS_RegModel(void);//合并特征(生成模板)
u8 PS_StoreChar(u8 BufferID,u16 PageID);//储存模板
u8 PS_DeletChar(u16 PageID,u16 N);//删除模板
u8 PS_Empty(void);//清空指纹库
u8 PS_WriteReg(u8 RegNum,u8 DATA);//写系统寄存器
u8 PS_ReadSysPara(SysPara *p); //读系统基本参数
u8 PS_SetAddr(u32 addr); //设置模块地址
u8 PS_WriteNotepad(u8 NotePageNum,u8 *content);//写记事本
u8 PS_ReadNotepad(u8 NotePageNum,u8 *note);//读记事
u8 PS_HighSpeedSearch(u8 BufferID,u16 StartPage,u16 PageNum,SearchResult *p);//高速搜索
u8 PS_ValidTempleteNum(u16 *ValidN);//读有效模板个数
u8 PS_HandShake(u32 *PS_Addr); //与AS608模块握手
const char *EnsureMessage(u8 ensure);//确认码错误信息解析
#endif

View File

@ -1,125 +0,0 @@
#include "key.h"
#include "delay.h"
void KEY_Init(int t)
{
if(t==1)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
//推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_10|GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置成推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB,GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_10|GPIO_Pin_11);//输出高电平
//下拉输入
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA0设置成输入默认下拉
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
else
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
//推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置成推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB,GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);//输出高电平
//下拉输入
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_10|GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA0设置成输入默认下拉
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
}
void KEY_Init1(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
//推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置成推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_SetBits(GPIOA,GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_15);//输出高电平
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置成推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB,GPIO_Pin_3);//输出高电平
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA0设置成输入默认下拉
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
int Get_KEY_Num(void)
{
int key_num=80;
KEY_Init(1);//4~7输入
if(KEY4==1)key_num=0;
else if(KEY5==1)key_num=1;
else if(KEY6==1)key_num=2;
else if(KEY7==1)key_num=3;
KEY_Init(0);//0~3输入
if(KEY0==1)key_num+=0;
else if(KEY1==1)key_num+=4;
else if(KEY2==1)key_num+=8;
else if(KEY3==1)key_num+=12;
return key_num;
}
int READ_KEY_Num(void)
{
int keys=80;
GPIO_SetBits(GPIOA,GPIO_Pin_11);//输出高电平
GPIO_ResetBits(GPIOB,GPIO_Pin_3);//输出高电平
GPIO_ResetBits(GPIOA,GPIO_Pin_12|GPIO_Pin_15);//输出高电平
if(KEY4==1)keys=0;
else if(KEY5==1)keys=1;
else if(KEY6==1)keys=2;
else if(KEY7==1)keys=3;
delay_ms(10);
GPIO_SetBits(GPIOA,GPIO_Pin_12);//输出高电平
GPIO_ResetBits(GPIOB,GPIO_Pin_3);//输出高电平
GPIO_ResetBits(GPIOA,GPIO_Pin_11|GPIO_Pin_15);//输出高电平
if(KEY4==1)keys=4;
else if(KEY5==1)keys=5;
else if(KEY6==1)keys=6;
else if(KEY7==1)keys=7;
delay_ms(10);
GPIO_SetBits(GPIOA,GPIO_Pin_15);//输出高电平
GPIO_ResetBits(GPIOB,GPIO_Pin_3);//输出高电平
GPIO_ResetBits(GPIOA,GPIO_Pin_11|GPIO_Pin_12);//输出高电平
if(KEY4==1)keys=8;
else if(KEY5==1)keys=9;
else if(KEY6==1)keys=10;
else if(KEY7==1)keys=11;
delay_ms(10);
GPIO_ResetBits(GPIOA,GPIO_Pin_15);//输出高电平
GPIO_SetBits(GPIOB,GPIO_Pin_3);//输出高电平
GPIO_ResetBits(GPIOA,GPIO_Pin_11|GPIO_Pin_12);//输出高电平
if(KEY4==1)keys=12;
else if(KEY5==1)keys=13;
else if(KEY6==1)keys=14;
else if(KEY7==1)keys=15;
return keys;
}

View File

@ -1,20 +0,0 @@
#ifndef __KEY_H
#define __KEY_H
#include "sys.h"
#define KEY0 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_11)//读取按键0
#define KEY1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_12)//读取按键1
#define KEY2 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_15)//读取按键2
#define KEY3 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3)//读取按键3
#define KEY4 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_4)//读取按键4
#define KEY5 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5)//读取按键5
#define KEY6 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_6)//读取按键6
#define KEY7 GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7)//读取按键7
void KEY_Init(int t);
void KEY_Init1(void);
int Get_KEY_Num(void);
int READ_KEY_Num(void);
#endif

View File

@ -1,81 +0,0 @@
#include "lcd12864.h"
void LCD12864_UserConfig(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitStructure.GPIO_Pin = CS|SID|CLK;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(CMD_PROT,&GPIO_InitStructure);
}
/*LCD12864*/
void LCD12864_Write_Byte(uint8_t data)
{
uint8_t WBi;
CS_HIGH;
for(WBi=0;WBi<8;WBi++)
{
(data<<WBi&0x80)?SID_HIGH:SID_LOW;
CLK_LOW; //
CLK_HIGH; //
}
CS_LOW;
}
/*LCD12864*/
void LCD12864_Write_CMD_Data(uint8_t cmd,uint8_t data)
{
LCD12864_Write_Byte(cmd);
LCD12864_Write_Byte(data&0xf0); //0x38 0011 1000 & 1111 0000
LCD12864_Write_Byte((data<<4)&0xf0); //0x38<<4 1000 & 1111 0000
delay_ms(2);
}
/*LCD12864*/
void LCD12864_Write_Init(void)
{
LCD12864_Write_CMD_Data(CMD,0x30); //
LCD12864_Write_CMD_Data(CMD,0x06); //
LCD12864_Write_CMD_Data(CMD,0x0C); //
LCD12864_Write_CMD_Data(CMD,0x01); //
LCD12864_Write_CMD_Data(CMD,0x80); //
}
void LCD12864_Open(void)
{
LCD12864_Write_CMD_Data(CMD,0x0C);
}
void LCD12864_Shut(void)
{
LCD12864_Write_CMD_Data(CMD,0x08); //
}
/*LCD12864*/
void LCD12864_Write_Word(LCD_InitTypeDef LCD_InitStructure)
{
uint8_t LWWi;
LCD12864_Write_CMD_Data(CMD,LCD_InitStructure.com); //
for(LWWi=0;LWWi<LCD_InitStructure.num;LWWi++)
{
LCD12864_Write_CMD_Data(DAT,*LCD_InitStructure.dat++); //
delay_ms(200);
}
}
/*LCD12864*/
void LCD12864_Write_Number(uint8_t com,uint8_t num)
{
const uint8_t number[] = {"0123456789"};
LCD12864_Write_CMD_Data(CMD,com);
LCD12864_Write_CMD_Data(DAT,number[num/1000]); //1234 1
LCD12864_Write_CMD_Data(DAT,number[num%1000/100]); //1234 2
LCD12864_Write_CMD_Data(DAT,number[num%100/10]); //1234 3
LCD12864_Write_CMD_Data(DAT,number[num%100%10]); //1234 4
}

View File

@ -1,40 +0,0 @@
#ifndef __LCD12864_H
#define __LCD12864_H
#include "stm32f10x.h"
#include "delay.h"
#define CS GPIO_Pin_15 //
#define SID GPIO_Pin_14 //
#define CLK GPIO_Pin_13 //
#define PSB GPIO_Pin_3 //
#define CMD_PROT GPIOC //
#define CS_HIGH GPIO_SetBits(CMD_PROT,CS)
#define CS_LOW GPIO_ResetBits(CMD_PROT,CS)
#define SID_HIGH GPIO_SetBits(CMD_PROT,SID)
#define SID_LOW GPIO_ResetBits(CMD_PROT,SID)
#define CLK_HIGH GPIO_SetBits(CMD_PROT,CLK)
#define CLK_LOW GPIO_ResetBits(CMD_PROT,CLK)
#define PSB_HIGH GPIO_SetBits(CMD_PROT,PSB)
#define PSB_LOW GPIO_ResetBits(CMD_PROT,PSB)
#define CMD 0xF8 //
#define DAT 0xFA //
typedef struct{
uint8_t com; //
uint8_t num; //
uint8_t *dat; //
}LCD_InitTypeDef; //
void LCD12864_UserConfig(void);
void LCD12864_Write_Init(void);
void LCD12864_Write_CMD_Data(uint8_t cmd,uint8_t data);
void LCD12864_Write_Word(LCD_InitTypeDef LCD_InitStructure);/*LCD12864*/
void LCD12864_Write_Number(uint8_t com,uint8_t num);/*LCD12864*/
void LCD12864_Open(void);
void LCD12864_Shut(void);
#endif

View File

@ -1,103 +0,0 @@
#include "lcd1602.h"
#include "delay.h"
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOA,ENABLE);//
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(LCD_DATA_PORT, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}
void LCD1602_Wait_Ready(void)
{
int8_t sta;
DATAOUT(0xff); //
LCD_RS_Clr(); //RS 0
LCD_RW_Set(); //RW 1
do
{
LCD_EN_Set(); //EN 1
delay_ms(5); //
sta = GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_7);//
LCD_EN_Clr(); //EN 0
}while(sta & 0x80);//
}
void LCD1602_Write_Cmd(u8 cmd)
{
LCD1602_Wait_Ready(); //
LCD_RS_Clr();
LCD_RW_Clr();
DATAOUT(cmd); //
LCD_EN_Set();
LCD_EN_Clr();
DATAOUT(cmd<<4); //
LCD_EN_Set();
LCD_EN_Clr();
}
void LCD1602_Write_Dat(u8 dat)
{
LCD1602_Wait_Ready(); //
LCD_RS_Set(); //1
LCD_RW_Clr(); //0
DATAOUT(dat); //
LCD_EN_Set();
LCD_EN_Clr();
DATAOUT(dat<<4);
LCD_EN_Set();
LCD_EN_Clr();
}
void LCD1602_ClearScreen(void)
{
LCD1602_Write_Cmd(0x01);
}
void LCD1602_Set_Cursor(u8 x, u8 y)
{
u8 addr;
if (y == 0)
addr = 0x00 + x;
else
addr = 0x40 + x;
LCD1602_Write_Cmd(addr | 0x80);
}
void LCD1602_Show_Str(u8 x, u8 y, u8 *str)
{
LCD1602_Set_Cursor(x, y);
while(*str != '\0')
{
LCD1602_Write_Dat(*str++);
}
}
void LCD1602_Init(void)
{
LCD1602_Write_Cmd(0x28); //
LCD1602_Write_Cmd(0x0C); //
LCD1602_Write_Cmd(0x06); //
LCD1602_Write_Cmd(0x01); //
}

View File

@ -1,30 +0,0 @@
#ifndef __LCD1602_H
#define __LCD1602_H
#include "stm32f10x.h"
#define LCD_DATA_PORT GPIOA
#define LCD_RS_Set() GPIO_SetBits(GPIOC, GPIO_Pin_0)
#define LCD_RS_Clr() GPIO_ResetBits(GPIOC, GPIO_Pin_0)
#define LCD_RW_Set() GPIO_SetBits(GPIOC, GPIO_Pin_1)
#define LCD_RW_Clr() GPIO_ResetBits(GPIOC, GPIO_Pin_1)
#define LCD_EN_Set() GPIO_SetBits(GPIOC, GPIO_Pin_2)
#define LCD_EN_Clr() GPIO_ResetBits(GPIOC, GPIO_Pin_2)
//PD4~7
#define DATAOUT(x) GPIO_Write(LCD_DATA_PORT, x)
#define u8 unsigned char
void GPIO_Configuration(void);
void LCD1602_Wait_Ready(void);
void LCD1602_Write_Cmd(u8 cmd);
void LCD1602_Write_Dat(u8 dat);
void LCD1602_ClearScreen(void);
void LCD1602_Set_Cursor(u8 x, u8 y);
void LCD1602_Show_Str(u8 x, u8 y, u8 *str);
void LCD1602_Init(void);
#endif

View File

@ -1,42 +0,0 @@
#include "led.h"
void LED_Init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_ResetBits(GPIOB,GPIO_Pin_9);
}
//输入0 1 2 3
void LED(u8 led)
{
// switch(led)
// {
// case 0://全亮
// GPIO_SetBits(GPIOB,GPIO_Pin_9);
// GPIO_SetBits(GPIOB,GPIO_Pin_5);
// break;
// case 1://1亮2灭
// GPIO_SetBits(GPIOB,GPIO_Pin_9);
// GPIO_ResetBits(GPIOB,GPIO_Pin_5);
// break;
// case 2://1灭2亮
// GPIO_SetBits(GPIOB,GPIO_Pin_5);
// GPIO_ResetBits(GPIOB,GPIO_Pin_9);
// break;
// case 3://全灭
// GPIO_ResetBits(GPIOB,GPIO_Pin_9);
// GPIO_ResetBits(GPIOB,GPIO_Pin_5);
// break;
// default:
// break;
// }
}

View File

@ -1,9 +0,0 @@
#ifndef __LED_H
#define __LED_H
#include "stm32f10x.h"
void LED_Init(void);
void LED(u8 led);
#endif

View File

@ -1,904 +0,0 @@
#include "rc522.h"
#define MAXRLEN 32
u8 Pcb = 0x00; //CPU卡APDU指令分组号
void MFRC_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
/* Enable the GPIO Clock */
RCC_APB2PeriphClockCmd(MF522_RST_CLK, ENABLE);
/* Configure the GPIO pin */
GPIO_InitStructure.GPIO_Pin = MF522_RST_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(MF522_RST_PORT, &GPIO_InitStructure);
/* Enable the GPIO Clock */
RCC_APB2PeriphClockCmd(MF522_MISO_CLK, ENABLE);
/* Configure the GPIO pin */
GPIO_InitStructure.GPIO_Pin = MF522_MISO_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(MF522_MISO_PORT, &GPIO_InitStructure);
/* Enable the GPIO Clock */
RCC_APB2PeriphClockCmd(MF522_MOSI_CLK, ENABLE);
/* Configure the GPIO pin */
GPIO_InitStructure.GPIO_Pin = MF522_MOSI_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(MF522_MOSI_PORT, &GPIO_InitStructure);
/* Enable the GPIO Clock */
RCC_APB2PeriphClockCmd(MF522_SCK_CLK, ENABLE);
/* Configure the GPIO pin */
GPIO_InitStructure.GPIO_Pin = MF522_SCK_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(MF522_SCK_PORT, &GPIO_InitStructure);
/* Enable the GPIO Clock */
RCC_APB2PeriphClockCmd(MF522_NSS_CLK, ENABLE);
/* Configure the GPIO pin */
GPIO_InitStructure.GPIO_Pin = MF522_NSS_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(MF522_NSS_PORT, &GPIO_InitStructure);
}
/////////////////////////////////////////////////////////////////////
//功 能:寻卡
//参数说明: req_code[IN]:寻卡方式
// 0x52 = 寻感应区内所有符合14443A标准的卡
// 0x26 = 寻未进入休眠状态的卡
// pTagType[OUT]:卡片类型代码
// 0x4400 = Mifare_UltraLight
// 0x0400 = Mifare_One(S50)
// 0x0200 = Mifare_One(S70)
// 0x0800 = Mifare_Pro(X)
// 0x4403 = Mifare_DESFire
//返 回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdRequest(unsigned char req_code,unsigned char *pTagType)
{
char status;
unsigned int unLen;
unsigned char ucComMF522Buf[MAXRLEN];
ClearBitMask(Status2Reg,0x08);
WriteRawRC(BitFramingReg,0x07);
SetBitMask(TxControlReg,0x03);
memset(ucComMF522Buf, 0x00, MAXRLEN);
ucComMF522Buf[0] = req_code;
status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,1,ucComMF522Buf,&unLen);
if ((status == MI_OK) && (unLen == 0x10))
{
*pTagType = ucComMF522Buf[0];
*(pTagType+1) = ucComMF522Buf[1];
}
else
{ status = MI_ERR; }
return status;
}
/////////////////////////////////////////////////////////////////////
//功 能:防冲撞
//参数说明: pSnr[OUT]:卡片序列号4字节
//返 回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdAnticoll(unsigned char *pSnr)
{
char status;
unsigned char i,snr_check=0;
unsigned int unLen;
unsigned char ucComMF522Buf[MAXRLEN];
ClearBitMask(Status2Reg,0x08);
WriteRawRC(BitFramingReg,0x00);
ClearBitMask(CollReg,0x80);
ucComMF522Buf[0] = PICC_ANTICOLL1;
ucComMF522Buf[1] = 0x20;
status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,2,ucComMF522Buf,&unLen);
if (status == MI_OK)
{
for (i=0; i<4; i++)
{
*(pSnr+i) = ucComMF522Buf[i];
snr_check ^= ucComMF522Buf[i];
}
if (snr_check != ucComMF522Buf[i])
{ status = MI_ERR; }
}
SetBitMask(CollReg,0x80);
return status;
}
/////////////////////////////////////////////////////////////////////
//功 能:选定卡片
//参数说明: pSnr[IN]:卡片物理号4字节
//返 回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdSelect(unsigned char *pSnr)
{
char status;
unsigned char i;
unsigned int unLen = 0;
unsigned char ucComMF522Buf[MAXRLEN] = {0};
ClearBitMask(Status2Reg,0x08);
ucComMF522Buf[0] = PICC_ANTICOLL1;
ucComMF522Buf[1] = 0x70;
ucComMF522Buf[6] = 0;
for (i=0; i<4; i++)
{
ucComMF522Buf[i+2] = *(pSnr+i);
ucComMF522Buf[6] ^= *(pSnr+i);
}
CalulateCRC(ucComMF522Buf,7,&ucComMF522Buf[7]);
status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,9,ucComMF522Buf,&unLen);
// for(i=0; i < unLen;i++){
// printf("%x ",ucComMF522Buf[i]);
// }
// printf("\n");
//=0 的bit6表示是否支持14443-A协议
if ((status == MI_OK) && (unLen == 0x18))
{ status = MI_OK; }
else
{ status = MI_ERR; }
return status;
}
/////////////////////////////////////////////////////////////////////
//功 能:验证卡片密码
//参数说明: auth_mode[IN]: 密码验证模式
// 0x60 = 验证A密钥
// 0x61 = 验证B密钥
// addr[IN]:块地址
// pKey[IN]:密码
// pSnr[IN]卡片序列号4字节
//返 回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdAuthState(unsigned char auth_mode,unsigned char addr,unsigned char *pKey,unsigned char *pSnr)
{
char status;
unsigned int unLen;
unsigned char i,ucComMF522Buf[MAXRLEN];
ucComMF522Buf[0] = auth_mode;
ucComMF522Buf[1] = addr;
for (i=0; i<6; i++)
{ ucComMF522Buf[i+2] = *(pKey+i); }
for (i=0; i<6; i++)
{ ucComMF522Buf[i+8] = *(pSnr+i); }
// memcpy(&ucComMF522Buf[2], pKey, 6);
// memcpy(&ucComMF522Buf[8], pSnr, 4);
status = PcdComMF522(PCD_AUTHENT,ucComMF522Buf,12,ucComMF522Buf,&unLen);
if ((status != MI_OK) || (!(ReadRawRC(Status2Reg) & 0x08)))
{ status = MI_ERR; }
return status;
}
/////////////////////////////////////////////////////////////////////
//功 能读取M1卡一块数据
//参数说明: addr[IN]:块地址
// pData[OUT]读出的数据16字节
//返 回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdRead(unsigned char addr,unsigned char *pData)
{
char status;
unsigned int unLen;
unsigned char i,ucComMF522Buf[MAXRLEN];
ucComMF522Buf[0] = PICC_READ;
ucComMF522Buf[1] = addr;
CalulateCRC(ucComMF522Buf,2,&ucComMF522Buf[2]);
status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,ucComMF522Buf,&unLen);
if ((status == MI_OK) && (unLen == 0x90))
// { memcpy(pData, ucComMF522Buf, 16); }
{
for (i=0; i<16; i++)
{ *(pData+i) = ucComMF522Buf[i]; }
}
else
{ status = MI_ERR; }
return status;
}
/////////////////////////////////////////////////////////////////////
//功 能写数据到M1卡一块
//参数说明: addr[IN]:块地址
// pData[IN]写入的数据16字节
//返 回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdWrite(unsigned char addr,unsigned char *pData)
{
char status;
unsigned int unLen;
unsigned char i,ucComMF522Buf[MAXRLEN];
ucComMF522Buf[0] = PICC_WRITE;
ucComMF522Buf[1] = addr;
CalulateCRC(ucComMF522Buf,2,&ucComMF522Buf[2]);
status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,ucComMF522Buf,&unLen);
if ((status != MI_OK) || (unLen != 4) || ((ucComMF522Buf[0] & 0x0F) != 0x0A))
{ status = MI_ERR; }
if (status == MI_OK)
{
//memcpy(ucComMF522Buf, pData, 16);
for (i=0; i<16; i++)
{ ucComMF522Buf[i] = *(pData+i); }
CalulateCRC(ucComMF522Buf,16,&ucComMF522Buf[16]);
status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,18,ucComMF522Buf,&unLen);
if ((status != MI_OK) || (unLen != 4) || ((ucComMF522Buf[0] & 0x0F) != 0x0A))
{ status = MI_ERR; }
}
return status;
}
/////////////////////////////////////////////////////////////////////
//功 能:命令卡片进入休眠状态
//返 回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdHalt(void)
{
unsigned int unLen;
unsigned char ucComMF522Buf[MAXRLEN];
ucComMF522Buf[0] = PICC_HALT;
ucComMF522Buf[1] = 0;
CalulateCRC(ucComMF522Buf,2,&ucComMF522Buf[2]);
PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,ucComMF522Buf,&unLen);
return MI_OK;
}
/////////////////////////////////////////////////////////////////////
//用MF522计算CRC16函数
/////////////////////////////////////////////////////////////////////
void CalulateCRC(unsigned char *pIndata,unsigned char len,unsigned char *pOutData)
{
unsigned char i,n;
ClearBitMask(DivIrqReg,0x04);
WriteRawRC(CommandReg,PCD_IDLE);
SetBitMask(FIFOLevelReg,0x80);
for (i=0; i<len; i++)
{ WriteRawRC(FIFODataReg, *(pIndata+i)); }
WriteRawRC(CommandReg, PCD_CALCCRC);
i = 0xFF;
do
{
n = ReadRawRC(DivIrqReg);
i--;
}
while ((i!=0) && !(n&0x04));
pOutData[0] = ReadRawRC(CRCResultRegL);
pOutData[1] = ReadRawRC(CRCResultRegM);
}
/////////////////////////////////////////////////////////////////////
//功 能复位RC522
//返 回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdReset(void)
{
RST_H;
delay_10ms(1);
RST_L;
delay_10ms(1);
RST_H;
delay_10ms(10);
// if(ReadRawRC(0x02) == 0x80)
// {
// delay_10ms(10);
// delay_10ms(10);
// delay_10ms(10);
// delay_10ms(10);
// }
WriteRawRC(CommandReg,PCD_RESETPHASE);
delay_10ms(1);
WriteRawRC(ModeReg,0x3D); //和Mifare卡通讯CRC初始值0x6363
WriteRawRC(TModeReg,0x8D);
WriteRawRC(TReloadRegL,0x30);
WriteRawRC(TReloadRegH,0xFF);
WriteRawRC(TPrescalerReg,0x3E);
WriteRawRC(TxAutoReg,0x40);
Pcb=0x00;
return MI_OK;
}
//////////////////////////////////////////////////////////////////////
//设置RC632的工作方式
//////////////////////////////////////////////////////////////////////
char M500PcdConfigISOType(unsigned char type)
{
if (type == 'A') //ISO14443_A
{
ClearBitMask(Status2Reg,0x08);
WriteRawRC(ModeReg,0x3D);//3F
WriteRawRC(RxSelReg,0x86);//84
WriteRawRC(RFCfgReg,0x7F); //4F
WriteRawRC(TReloadRegL,0x30);//tmoLength);// TReloadVal = 'h6a =tmoLength(dec)
WriteRawRC(TReloadRegH,0xFF);
WriteRawRC(TModeReg,0x8D);
WriteRawRC(TPrescalerReg,0x3E);
delay_10ms(1);
PcdAntennaOn();
}
else{ return (char)-1; }
return MI_OK;
}
/////////////////////////////////////////////////////////////////////
//功 能读RC632寄存器
//参数说明Address[IN]:寄存器地址
//返 回:读出的值
/////////////////////////////////////////////////////////////////////
unsigned char ReadRawRC(unsigned char Address)
{
unsigned char i, ucAddr;
unsigned char ucResult=0;
NSS_L;
ucAddr = ((Address<<1)&0x7E)|0x80;
for(i=8;i>0;i--)
{
SCK_L;
if(ucAddr&0x80)
MOSI_H;
else
MOSI_L;
SCK_H;
ucAddr <<= 1;
}
for(i=8;i>0;i--)
{
SCK_L;
ucResult <<= 1;
SCK_H;
if(READ_MISO == 1)
ucResult |= 1;
}
NSS_H;
SCK_H;
return ucResult;
}
/////////////////////////////////////////////////////////////////////
//功 能写RC632寄存器
//参数说明Address[IN]:寄存器地址
// value[IN]:写入的值
/////////////////////////////////////////////////////////////////////
void WriteRawRC(unsigned char Address, unsigned char value)
{
unsigned char i, ucAddr;
SCK_L;
NSS_L;
ucAddr = ((Address<<1)&0x7E);
for(i=8;i>0;i--)
{
if(ucAddr&0x80)
MOSI_H;
else
MOSI_L;
SCK_H;
ucAddr <<= 1;
SCK_L;
}
for(i=8;i>0;i--)
{
if(value&0x80)
MOSI_H;
else
MOSI_L;
SCK_H;
value <<= 1;
SCK_L;
}
NSS_H;
SCK_H;
}
/////////////////////////////////////////////////////////////////////
//功 能置RC522寄存器位
//参数说明reg[IN]:寄存器地址
// mask[IN]:置位值
/////////////////////////////////////////////////////////////////////
void SetBitMask(unsigned char reg,unsigned char mask)
{
char tmp = 0x0;
tmp = ReadRawRC(reg);
WriteRawRC(reg,tmp | mask); // set bit mask
}
/////////////////////////////////////////////////////////////////////
//功 能清RC522寄存器位
//参数说明reg[IN]:寄存器地址
// mask[IN]:清位值
/////////////////////////////////////////////////////////////////////
void ClearBitMask(unsigned char reg,unsigned char mask)
{
char tmp = 0x0;
tmp = ReadRawRC(reg);
WriteRawRC(reg, tmp & ~mask); // clear bit mask
}
//*************************************************************************
// 函数名 PcdComMF522
// 描述 通过RC522和ISO14443卡通讯
// 入口 Command[IN]:RC522命令字
// pDataIn[IN]:通过RC522发送到卡片的数据
// InLenByte[IN]:发送数据的字节长度
// *pOutLenBit[OUT]:返回数据的位长度
// 出口 pDataOut[OUT]:接收到的卡片返回数据
// 返回 :无
//*************************************************************************
char PcdComMF522(u8 Command, u8 *pDataIn, u8 InLenByte, u8 *pDataOut, u16 *pOutLenBit)
{
char status = MI_ERR;
u8 irqEn = 0x00;
u8 waitFor = 0x00;
u8 lastBits;
u8 n = 0;
u16 i;
switch(Command)
{
case PCD_AUTHENT:
irqEn = 0x12;
waitFor = 0x10;
break;
case PCD_TRANSCEIVE:
irqEn = 0x77;
waitFor = 0x30; // 接受到数据及命令执行完毕
break;
default:
break;
}
WriteRawRC(ComIEnReg,irqEn|0x80); // 容许除定时器中断请求以为得所有中断请求
ClearBitMask(ComIrqReg,0x80); // 屏蔽位清除
WriteRawRC(CommandReg,PCD_IDLE); // 取消当前命令
SetBitMask(FIFOLevelReg,0x80); // 清除FIFO中的读写指针
for (i=0; i<InLenByte; i++)
{
WriteRawRC(FIFODataReg, pDataIn[i]); //数据写入FIFO
}
WriteRawRC(CommandReg, Command); //写入命令,将缓冲区中的数据发送到天线,并激活自动接收器
if (Command == PCD_TRANSCEIVE) //如果命令为0C
{
SetBitMask(BitFramingReg,0x80); //相当于启动发送STARTSENG
}
i = 3000; //根据时钟频率调整操作M1卡最大等待时间=600,操作CPU卡最大等待时间=1200
do
{
n = ReadRawRC(ComIrqReg); //读取中断标志,检查数据返回
i--;
}
while ((i!=0) && !(n&0x01) && !(n&waitFor)); // 定时器未超时,没有错误,0x01,0x30
ClearBitMask(BitFramingReg,0x80); // 相当于清除发送STARTSENG
if (i!=0) // 定时时间到i没有递减到0
{
if(!(ReadRawRC(ErrorReg)&0x1B)) // 判断有无出现错误标志 Buffer溢出,位冲突,接收CRC错误,奇偶校验错误,
{
status = MI_OK; // 初始化状态
if (n & irqEn & 0x01) // 若是PCD_TRANSCEIVE, irq = 0x77, 定时器为0中断产生,定时器为0时为错误
{
status = MI_NOTAGERR; // 搜索不到卡
}
if (Command == PCD_TRANSCEIVE) // 如果是发送接收指令
{
n = ReadRawRC(FIFOLevelReg); // 读取接收到的数据的字节数
lastBits = ReadRawRC(ControlReg) & 0x07;// 2-0:RxLastBits,显示接收到最后一个字节的位数
if (lastBits) // 若该位为0最后整个字节有效
{
*pOutLenBit = (n-1)*8 + lastBits; //pOutLenBit记录总共收到的位数
}
else
{
*pOutLenBit = n*8; //接收完整位数
}
if (n == 0) //假如没有中断产生
{
n = 1; //n置1
}
if (n > MAXRLEN) // 一次最大能接受到的字节数
{
n = MAXRLEN; //超出最大长度,只接受最大长度的值
}
for (i=0; i<n; i++)
{
pDataOut[i] = ReadRawRC(FIFODataReg); //从FIFO读取数据
}
}
}
else
{
status = MI_ERR; //有错误
}
}
SetBitMask(ControlReg,0x80); //停止定时器
WriteRawRC(CommandReg,PCD_IDLE); //清空指令
return status; //返回状态
}
/////////////////////////////////////////////////////////////////////
//开启天线
//每次启动或关闭天险发射之间应至少有1ms的间隔
/////////////////////////////////////////////////////////////////////
void PcdAntennaOn()
{
unsigned char i;
i = ReadRawRC(TxControlReg);
if (!(i & 0x03))
{
SetBitMask(TxControlReg, 0x03);
}
}
/////////////////////////////////////////////////////////////////////
//关闭天线
/////////////////////////////////////////////////////////////////////
void PcdAntennaOff()
{
ClearBitMask(TxControlReg, 0x03);
}
//等待卡离开
void WaitCardOff(void)
{
char status;
unsigned char TagType[2];
while(1)
{
status = PcdRequest(REQ_ALL, TagType);
if(status)
{
status = PcdRequest(REQ_ALL, TagType);
if(status)
{
status = PcdRequest(REQ_ALL, TagType);
if(status)
{
break;
}
}
}
delay_10ms(10);
}
}
///////////////////////////////////////////////////////////////////////
// Delay 10ms
///////////////////////////////////////////////////////////////////////
void delay_10ms(unsigned int _10ms)
{
unsigned int i, j;
for(i=0; i<_10ms; i++)
{
for(j=0; j<60000; j++);
}
}
//*************************************************************************
// 函数名 PcdSwitchPCB(void)
// 描述 :切换分组号
// 入口
// 出口
// 返回 成功返回MI_OK
//*************************************************************************
void PcdSwitchPCB(void)
{
switch(Pcb)
{
case 0x00:
Pcb=0x0A;
break;
case 0x0A:
Pcb=0x0B;
break;
case 0x0B:
Pcb=0x0A;
break;
}
}
//*************************************************************************
// 函数名 PcdRats
// 描述 转入APDU命令格式
// 入口
// 出口 DataOut 输出的数据, Len 输出数据的长度
// 返回 成功返回MI_OK
//*************************************************************************
char PcdRats(u8 * DataOut,u8 * Len)
{
char status =MI_ERR;
unsigned int unLen;
u8 ucComMF522Buf[MAXRLEN];
//int i;
ClearBitMask(Status2Reg,0x08); // 清空校验成功标志,清除MFCrypto1On位
memset(ucComMF522Buf, 0x00, MAXRLEN);
ucComMF522Buf[0] = 0xE0;
ucComMF522Buf[1] = 0x51;
CalulateCRC(ucComMF522Buf,2,&ucComMF522Buf[2]); // 生成发送内容的CRC校验,保存到最后两个字节
// for(i=0; i < 4;i++){
// printf("%x ",ucComMF522Buf[i]);
// }
// printf("\n");
status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,DataOut,&unLen);// 将收到的卡片类型号保存
// for(i=0; i < unLen;i++){
// printf("%x ",DataOut[i]);
// }
// printf("\n");
if (status == MI_OK)
{
Len[0]= unLen/8-2;
status = MI_OK;
}
else
status = MI_ERR;
return status; //返回结果
}
//*************************************************************************
// 函数名 PcdReadBinary
// 描述 :读取二进制文件
// 入口 mode : 线路保护
// soffset:最高位为1,P1 P2为欲读文件的偏移量,P1为偏移量高字节,P2为低字节,所读的文件为当前文件
// doffset:最高位不为1,低5位为短的文件标识符,P2为读的偏移量
// Lc : 长度
// pDataIn : 输入数据
// Le : 返回长度
// 出口
// 返回 成功返回MI_OK
//*************************************************************************
void PcdReadBinary(u8 offset, u16 Len, u8* pDataOut)
{
char status =MI_ERR;
unsigned int unLen;
u8 i,ucComMF522Buf[MAXRLEN];
u8 Err[8];
ClearBitMask(Status2Reg,0x08); //清空校验成功标志,清除MFCrypto1On位
// if(Len > GetItemSum(ucComMF522Buf) - 6) return;
// MemSet(ucComMF522Buf, 0x00, MAXRLEN);
PcdSwitchPCB();
ucComMF522Buf[0] = Pcb;
ucComMF522Buf[1] = 0x01;
ucComMF522Buf[2] = 0x00;
ucComMF522Buf[3] = 0xB0;
ucComMF522Buf[4] = 0x95;
ucComMF522Buf[5] = 0x0C; //当前文件
ucComMF522Buf[6] = 0x08; //起始位置
//ucComMF522Buf[6] = 08; //返回数据的长度
CalulateCRC(ucComMF522Buf, 7, &ucComMF522Buf[7]); // 生成发送内容的CRC校验,保存到最后两个字节
//for(i=0;i < MAXRLEN;i++){
// printf("%c",ucComMF522Buf[i]);
//}
//printf("\n\n\n\n\n");
status = PcdComMF522(PCD_TRANSCEIVE, ucComMF522Buf, 9, ucComMF522Buf, &unLen);// 将收到的卡片类型号保存
//for(i=0;i < MAXRLEN;i++){
// printf("%c",ucComMF522Buf[i]);
//}
//printf("\n\n\n\n\n");
if (status == MI_OK)
{
Err[0] = ucComMF522Buf[unLen+2];
Err[1] = ucComMF522Buf[unLen+3];
// printf("22222");
// printf("%d",unLen);
// printf("%c",Err[0]);
// printf("%c",Err[0]);
if(Err[0] == 0x90 &&Err[1] == 0x00)
for (i=0; i< Len; i++){
*(pDataOut+i) = ucComMF522Buf[i+2]; //保存接收到数据
// printf(" %x ",ucComMF522Buf[i+2]);
}
}
else
{
Err[0] = 0xFF;
Err[1] = 0xFF;
}
}
//发送命令MIFAREPRO卡
/**********************************************************
: unsigned int pro_send(unsigned char *comm, unsigned char slen,unsigned char *resp,unsigned char *rlen)
:PRO卡片发APDU指令.
:comm.: APDU指令; slen APDU长度; resp: ; rlen:
:SW1SW2
***************************************************************/
unsigned int pro_send(unsigned char *comm, unsigned char slen,unsigned char *resp,unsigned char *rlen)
{
//07 07 0a 00 00 84 00 00 08
//07 07 0a 00 00 84 00 00 04
//例如取随机数命令0084000008
//COMM=0a000084000008
//slen=7+2;其中前面7个数是APDU后面二个数是校验
char Status;
unsigned int ulen;
/*
buffer[0]=0x02;
buffer[1]=0x00;
buffer[2]=0xc0;
buffer[3]=0x00;
buffer[4]=0x00;
buffer[5]=0x10;
CalulateCRC(buffer,6,&buffer[6]);
*/
CalulateCRC(comm,slen,&comm[slen]); //crc
Status = PcdComMF522(PCD_TRANSCEIVE,comm,slen+2,&resp[0], &ulen);
if (Status == 0)
{
if(ulen!=0)
{
// rlen[0]=ulen/8-2;
// rlen[0]=ulen/8-2;
rlen[0]=ulen/8-1;
}
else
{
return 1;
}
}
return Status;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//*************************************************************************
// 函数名 Pcd_Cmd
// 描述 :执行上位机发来的指令
// 入口 pDataIn : 要执行的指令 In_Len 指令数据长度
// 出口 pDataOut输出执行后的返回数据 Out_Len输出的数据长度
// 返回 MI_OK
//*************************************************************************
u8 Pcd_Cmd(u8* pDataIn, u8 In_Len, u8* pDataOut,u8 * Out_Len)
{
char status =MI_ERR;
unsigned int unLen;
u8 ucComMF522Buf[MAXRLEN];
u8 i;
ClearBitMask(Status2Reg,0x08); // 清空校验成功标志,清除MFCrypto1On位
memset(ucComMF522Buf, 0x00, MAXRLEN);
PcdSwitchPCB();
ucComMF522Buf[0] = Pcb;
ucComMF522Buf[1] = 0x01;
ucComMF522Buf[2] = pDataIn[0]; // CLA
ucComMF522Buf[3] = pDataIn[1]; // INS
ucComMF522Buf[4] = pDataIn[2]; // P1
ucComMF522Buf[5] = pDataIn[3]; // P2
ucComMF522Buf[6] = pDataIn[4]; // LEN
for(i=0;i<ucComMF522Buf[6];i++) //DATA
{
ucComMF522Buf[7+i] = pDataIn[5+i];
}
CalulateCRC(ucComMF522Buf,In_Len+2,&ucComMF522Buf[In_Len+2]); // 生成发送内容的CRC校验,保存到最后两个字节
for(i=0; i <In_Len+4;i++){
printf("%x ",ucComMF522Buf[i]);
}
printf("\n");
status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,In_Len+4,pDataOut,&unLen);
// for(i=0; i < 16;i++){
// printf("%x ",pDataOut[i]);
// }
// printf("\n");
if (status == MI_OK)
{
Out_Len[0] = unLen/8-4; //接收到数据的长度,不要前面和后面的各两个字节,才是返回的有用数据
return MI_OK;
}
else
{
Out_Len[0] = unLen/8-4;
if((pDataOut[2]==0x90)&&(pDataOut[3]==0x00))
return MI_OK;
else
return MI_ERR;
}
}

View File

@ -1,241 +0,0 @@
#ifndef _RC522_H_
#define _RC522_H_
#include <string.h>
#include <stdio.h>
#include "stm32f10x.h"
//////////////////////////////////
//端口定义
/////////////////////////////////////////////////////////////////////
//MFRC522
#define MF522_RST_PIN GPIO_Pin_8
#define MF522_RST_PORT GPIOA
#define MF522_RST_CLK RCC_APB2Periph_GPIOA
#define MF522_MISO_PIN GPIO_Pin_14
#define MF522_MISO_PORT GPIOB
#define MF522_MISO_CLK RCC_APB2Periph_GPIOB
#define MF522_MOSI_PIN GPIO_Pin_15
#define MF522_MOSI_PORT GPIOB
#define MF522_MOSI_CLK RCC_APB2Periph_GPIOB
#define MF522_SCK_PIN GPIO_Pin_13
#define MF522_SCK_PORT GPIOB
#define MF522_SCK_CLK RCC_APB2Periph_GPIOB
#define MF522_NSS_PIN GPIO_Pin_12
#define MF522_NSS_PORT GPIOB
#define MF522_NSS_CLK RCC_APB2Periph_GPIOB
//指示灯
//#define LED_PIN GPIO_Pin_13
//#define LED_PORT GPIOC
//#define LED_CLK RCC_APB2Periph_GPIOC
#define RST_H GPIO_SetBits(MF522_RST_PORT, MF522_RST_PIN)
#define RST_L GPIO_ResetBits(MF522_RST_PORT, MF522_RST_PIN)
#define MOSI_H GPIO_SetBits(MF522_MOSI_PORT, MF522_MOSI_PIN)
#define MOSI_L GPIO_ResetBits(MF522_MOSI_PORT, MF522_MOSI_PIN)
#define SCK_H GPIO_SetBits(MF522_SCK_PORT, MF522_SCK_PIN)
#define SCK_L GPIO_ResetBits(MF522_SCK_PORT, MF522_SCK_PIN)
#define NSS_H GPIO_SetBits(MF522_NSS_PORT, MF522_NSS_PIN)
#define NSS_L GPIO_ResetBits(MF522_NSS_PORT, MF522_NSS_PIN)
#define READ_MISO GPIO_ReadInputDataBit(MF522_MISO_PORT, MF522_MISO_PIN)
//#define LED_ON GPIO_SetBits(LED_PORT, LED_PIN)
//#define LED_OFF GPIO_ResetBits(LED_PORT, LED_PIN)
/////////////////////////////////////////////////////////////////////
//函数原型
/////////////////////////////////////////////////////////////////////
#define TRUE 1
#define FALSE 0
#define s8 char
#define u8 unsigned char
#define u16 unsigned int
/////////////////////////////////////////////////////////////////////
//函数原型
/////////////////////////////////////////////////////////////////////
void MFRC_GPIO_Init(void);
char PcdReset(void);
void PcdAntennaOn(void);
void PcdAntennaOff(void);
char PcdRequest(unsigned char req_code,unsigned char *pTagType);
char PcdAnticoll(unsigned char *pSnr);
char PcdSelect(unsigned char *pSnr);
char PcdAuthState(unsigned char auth_mode,unsigned char addr,unsigned char *pKey,unsigned char *pSnr);
char PcdRead(unsigned char addr,unsigned char *pData);
char PcdWrite(unsigned char addr,unsigned char *pData);
char PcdValue(unsigned char dd_mode,unsigned char addr,unsigned char *pValue);
char PcdBakValue(unsigned char sourceaddr, unsigned char goaladdr);
char PcdHalt(void);
char PcdComMF522(u8 Command, u8 *pDataIn, u8 InLenByte, u8 *pDataOut, u16 *pOutLenBit);
void CalulateCRC(unsigned char *pIndata,unsigned char len,unsigned char *pOutData);
void WriteRawRC(unsigned char Address,unsigned char value);
unsigned char ReadRawRC(unsigned char Address);
void SetBitMask(unsigned char reg,unsigned char mask);
void ClearBitMask(unsigned char reg,unsigned char mask);
char M500PcdConfigISOType(unsigned char type);
void delay_10ms(unsigned int _10ms);
void WaitCardOff(void);
char PcdRats(u8 * DataOut,u8 * Len);
void PcdSelectFile(u8 *pDataIn);
void PcdReadBinary(u8 offset, u16 Len, u8* pDataOut);
void PcdSwitchPCB(void);
u16 CardReset(u8 * Data_Out,u8 * Len);
u8 Pcd_Cmd(u8* pDataIn, u8 In_Len, u8* pDataOut,u8 * Out_Len);
/////////////////////////////////////////////////////////////////////
//MF522命令字
/////////////////////////////////////////////////////////////////////
#define PCD_IDLE 0x00 //取消当前命令
#define PCD_AUTHENT 0x0E //验证密钥
#define PCD_RECEIVE 0x08 //接收数据
#define PCD_TRANSMIT 0x04 //发送数据
#define PCD_TRANSCEIVE 0x0C //发送并接收数据
#define PCD_RESETPHASE 0x0F //复位
#define PCD_CALCCRC 0x03 //CRC计算
/////////////////////////////////////////////////////////////////////
//Mifare_One卡片命令字
/////////////////////////////////////////////////////////////////////
#define PICC_REQIDL 0x26 //寻天线区内未进入休眠状态
#define PICC_REQALL 0x52 //寻天线区内全部卡
#define PICC_ANTICOLL1 0x93 //防冲撞
#define PICC_ANTICOLL2 0x95 //防冲撞
#define PICC_AUTHENT1A 0x60 //验证A密钥
#define PICC_AUTHENT1B 0x61 //验证B密钥
#define PICC_READ 0x30 //读块
#define PICC_WRITE 0xA0 //写块
#define PICC_DECREMENT 0xC0 //扣款
#define PICC_INCREMENT 0xC1 //充值
#define PICC_RESTORE 0xC2 //调块数据到缓冲区
#define PICC_TRANSFER 0xB0 //保存缓冲区中数据
#define PICC_HALT 0x50 //休眠
#define ST_OK 0x9000 //正确执行
#define ST_ERR 0xFFFF //返回错误
#define ST_RETDATWRG 0x6281 //返回数据错误
#define ST_VERIFY 0x6283 //选择文件无效,文件或密钥校验错误
#define ST_STNCHG 0x6400 //状态标志未改变
#define ST_EEPWRG 0x6581 //写EEPROM不成功
#define ST_LENWRG 0x6700 //错误长度
#define ST_CLAPTWRG 0x6900 //CLA与线路保护要求不匹配
#define ST_INVALID 0x6901 //无效的状态
#define ST_COMMAND 0x6981 //命令与文件结构不相容
#define ST_SECURE 0x6982 //不满足安全状态
#define ST_KEYLOCK 0x6983 //密钥锁死
#define ST_USECON 0x6985 //使用条件不满足
#define ST_NSPACK 0x6987 //无安全报文
#define ST_SPDATWRG 0x6988 //安全报文数据项不正确
#define ST_DATPRWRG 0x6A80 //数据域参数错误
#define ST_FUNWRG 0x6A81 //功能不支持或卡中无MF或卡片锁定
#define ST_NOFILE 0x6A82 //文件未找到
#define ST_NORECORD 0x6A83 //记录未找到
#define ST_NOSPACE 0x6A84 //文件无足够空间
#define ST_P1P2WRG 0x6A86 //参数P1,P2错误,文件已存在
#define ST_NOKEY 0x6A88 //密钥未找到
#define ST_OFFSETWRG 0x6B00 //在达到Le/Lc字节之前文件结束,偏移量错误
#define ST_CLAWRG 0x6E00 //无效的CLA
#define ST_DATWRG 0x6F00 //数据无效
#define ST_MACWRG 0x9302 //MAC错误
#define ST_APPLOCK 0x9303 //应用已被锁定
#define ST_SUMLACK 0x9401 //金额不足
#define ST_NOKEY2 0x9403 //密钥未找到
#define ST_MACINVAL 0x9406 //所需的MAC不可用
/////////////////////////////////////////////////////////////////////
//MF522 FIFO长度定义
/////////////////////////////////////////////////////////////////////
#define DEF_FIFO_LENGTH 64 //FIFO size=64byte
/////////////////////////////////////////////////////////////////////
//MF522寄存器定义
/////////////////////////////////////////////////////////////////////
// PAGE 0
#define RFU00 0x00
#define CommandReg 0x01
#define ComIEnReg 0x02
#define DivlEnReg 0x03
#define ComIrqReg 0x04
#define DivIrqReg 0x05
#define ErrorReg 0x06
#define Status1Reg 0x07
#define Status2Reg 0x08
#define FIFODataReg 0x09
#define FIFOLevelReg 0x0A
#define WaterLevelReg 0x0B
#define ControlReg 0x0C
#define BitFramingReg 0x0D
#define CollReg 0x0E
#define RFU0F 0x0F
// PAGE 1
#define RFU10 0x10
#define ModeReg 0x11
#define TxModeReg 0x12
#define RxModeReg 0x13
#define TxControlReg 0x14
#define TxAutoReg 0x15
#define TxSelReg 0x16
#define RxSelReg 0x17
#define RxThresholdReg 0x18
#define DemodReg 0x19
#define RFU1A 0x1A
#define RFU1B 0x1B
#define MifareReg 0x1C
#define RFU1D 0x1D
#define RFU1E 0x1E
#define SerialSpeedReg 0x1F
// PAGE 2
#define RFU20 0x20
#define CRCResultRegM 0x21
#define CRCResultRegL 0x22
#define RFU23 0x23
#define ModWidthReg 0x24
#define RFU25 0x25
#define RFCfgReg 0x26
#define GsNReg 0x27
#define CWGsCfgReg 0x28
#define ModGsCfgReg 0x29
#define TModeReg 0x2A
#define TPrescalerReg 0x2B
#define TReloadRegH 0x2C
#define TReloadRegL 0x2D
#define TCounterValueRegH 0x2E
#define TCounterValueRegL 0x2F
// PAGE 3
#define RFU30 0x30
#define TestSel1Reg 0x31
#define TestSel2Reg 0x32
#define TestPinEnReg 0x33
#define TestPinValueReg 0x34
#define TestBusReg 0x35
#define AutoTestReg 0x36
#define VersionReg 0x37
#define AnalogTestReg 0x38
#define TestDAC1Reg 0x39
#define TestDAC2Reg 0x3A
#define TestADCReg 0x3B
#define RFU3C 0x3C
#define RFU3D 0x3D
#define RFU3E 0x3E
#define RFU3F 0x3F
#define REQ_ALL 0x26 //读卡完成还会再次读取
#define REQ_IDL 0x52 //读卡完成还等待卡离开磁场范围
#define KEYA 0x60
#define FSDI 4
/////////////////////////////////////////////////////////////////////
//和MF522通讯时返回的错误代码
/////////////////////////////////////////////////////////////////////
#define MI_OK (char)0
#define MI_NOTAGERR (char)(-1)
#define MI_ERR (char)(-2)
#endif

View File

@ -1,310 +0,0 @@
/*
*********************************************************************************************************
*
* : LCD字符数组文件
* : lcdfont.h
*
*********************************************************************************************************
*/
#ifndef __LCDFONT_H
#define __LCDFONT_H
const unsigned char ascii_1206[][12]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
{0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x00,0x00,0x04,0x00,0x00},/*"!",1*/
{0x14,0x14,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/
{0x00,0x00,0x0A,0x0A,0x1F,0x0A,0x0A,0x1F,0x0A,0x0A,0x00,0x00},/*"#",3*/
{0x00,0x04,0x0E,0x15,0x05,0x06,0x0C,0x14,0x15,0x0E,0x04,0x00},/*"$",4*/
{0x00,0x00,0x12,0x15,0x0D,0x15,0x2E,0x2C,0x2A,0x12,0x00,0x00},/*"%",5*/
{0x00,0x00,0x04,0x0A,0x0A,0x36,0x15,0x15,0x29,0x16,0x00,0x00},/*"&",6*/
{0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
{0x10,0x08,0x08,0x04,0x04,0x04,0x04,0x04,0x08,0x08,0x10,0x00},/*"(",8*/
{0x02,0x04,0x04,0x08,0x08,0x08,0x08,0x08,0x04,0x04,0x02,0x00},/*")",9*/
{0x00,0x00,0x00,0x04,0x15,0x0E,0x0E,0x15,0x04,0x00,0x00,0x00},/*"*",10*/
{0x00,0x00,0x00,0x08,0x08,0x3E,0x08,0x08,0x00,0x00,0x00,0x00},/*"+",11*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x01,0x00},/*",",12*/
{0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",13*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00},/*".",14*/
{0x00,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x02,0x02,0x01,0x00},/*"/",15*/
{0x00,0x00,0x0E,0x11,0x11,0x11,0x11,0x11,0x11,0x0E,0x00,0x00},/*"0",16*/
{0x00,0x00,0x04,0x06,0x04,0x04,0x04,0x04,0x04,0x0E,0x00,0x00},/*"1",17*/
{0x00,0x00,0x0E,0x11,0x11,0x08,0x04,0x02,0x01,0x1F,0x00,0x00},/*"2",18*/
{0x00,0x00,0x0E,0x11,0x10,0x0C,0x10,0x10,0x11,0x0E,0x00,0x00},/*"3",19*/
{0x00,0x00,0x08,0x0C,0x0C,0x0A,0x09,0x1F,0x08,0x1C,0x00,0x00},/*"4",20*/
{0x00,0x00,0x1F,0x01,0x01,0x0F,0x11,0x10,0x11,0x0E,0x00,0x00},/*"5",21*/
{0x00,0x00,0x0C,0x12,0x01,0x0D,0x13,0x11,0x11,0x0E,0x00,0x00},/*"6",22*/
{0x00,0x00,0x1E,0x10,0x08,0x08,0x04,0x04,0x04,0x04,0x00,0x00},/*"7",23*/
{0x00,0x00,0x0E,0x11,0x11,0x0E,0x11,0x11,0x11,0x0E,0x00,0x00},/*"8",24*/
{0x00,0x00,0x0E,0x11,0x11,0x19,0x16,0x10,0x09,0x06,0x00,0x00},/*"9",25*/
{0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x04,0x00,0x00},/*":",26*/
{0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x04,0x04,0x00},/*";",27*/
{0x00,0x00,0x10,0x08,0x04,0x02,0x02,0x04,0x08,0x10,0x00,0x00},/*"<",28*/
{0x00,0x00,0x00,0x00,0x3F,0x00,0x3F,0x00,0x00,0x00,0x00,0x00},/*"=",29*/
{0x00,0x00,0x02,0x04,0x08,0x10,0x10,0x08,0x04,0x02,0x00,0x00},/*">",30*/
{0x00,0x00,0x0E,0x11,0x11,0x08,0x04,0x04,0x00,0x04,0x00,0x00},/*"?",31*/
{0x00,0x00,0x1C,0x22,0x29,0x2D,0x2D,0x1D,0x22,0x1C,0x00,0x00},/*"@",32*/
{0x00,0x00,0x04,0x04,0x0C,0x0A,0x0A,0x1E,0x12,0x33,0x00,0x00},/*"A",33*/
{0x00,0x00,0x0F,0x12,0x12,0x0E,0x12,0x12,0x12,0x0F,0x00,0x00},/*"B",34*/
{0x00,0x00,0x1E,0x11,0x01,0x01,0x01,0x01,0x11,0x0E,0x00,0x00},/*"C",35*/
{0x00,0x00,0x0F,0x12,0x12,0x12,0x12,0x12,0x12,0x0F,0x00,0x00},/*"D",36*/
{0x00,0x00,0x1F,0x12,0x0A,0x0E,0x0A,0x02,0x12,0x1F,0x00,0x00},/*"E",37*/
{0x00,0x00,0x1F,0x12,0x0A,0x0E,0x0A,0x02,0x02,0x07,0x00,0x00},/*"F",38*/
{0x00,0x00,0x1C,0x12,0x01,0x01,0x39,0x11,0x12,0x0C,0x00,0x00},/*"G",39*/
{0x00,0x00,0x33,0x12,0x12,0x1E,0x12,0x12,0x12,0x33,0x00,0x00},/*"H",40*/
{0x00,0x00,0x1F,0x04,0x04,0x04,0x04,0x04,0x04,0x1F,0x00,0x00},/*"I",41*/
{0x00,0x00,0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x09,0x07},/*"J",42*/
{0x00,0x00,0x37,0x12,0x0A,0x06,0x0A,0x12,0x12,0x37,0x00,0x00},/*"K",43*/
{0x00,0x00,0x07,0x02,0x02,0x02,0x02,0x02,0x22,0x3F,0x00,0x00},/*"L",44*/
{0x00,0x00,0x3B,0x1B,0x1B,0x1B,0x15,0x15,0x15,0x35,0x00,0x00},/*"M",45*/
{0x00,0x00,0x3B,0x12,0x16,0x16,0x1A,0x1A,0x12,0x17,0x00,0x00},/*"N",46*/
{0x00,0x00,0x0E,0x11,0x11,0x11,0x11,0x11,0x11,0x0E,0x00,0x00},/*"O",47*/
{0x00,0x00,0x0F,0x12,0x12,0x0E,0x02,0x02,0x02,0x07,0x00,0x00},/*"P",48*/
{0x00,0x00,0x0E,0x11,0x11,0x11,0x11,0x17,0x19,0x0E,0x18,0x00},/*"Q",49*/
{0x00,0x00,0x0F,0x12,0x12,0x0E,0x0A,0x12,0x12,0x37,0x00,0x00},/*"R",50*/
{0x00,0x00,0x1E,0x11,0x01,0x06,0x08,0x10,0x11,0x0F,0x00,0x00},/*"S",51*/
{0x00,0x00,0x1F,0x15,0x04,0x04,0x04,0x04,0x04,0x0E,0x00,0x00},/*"T",52*/
{0x00,0x00,0x33,0x12,0x12,0x12,0x12,0x12,0x12,0x0C,0x00,0x00},/*"U",53*/
{0x00,0x00,0x33,0x12,0x12,0x0A,0x0A,0x0C,0x04,0x04,0x00,0x00},/*"V",54*/
{0x00,0x00,0x15,0x15,0x15,0x15,0x0E,0x0A,0x0A,0x0A,0x00,0x00},/*"W",55*/
{0x00,0x00,0x1B,0x0A,0x0A,0x04,0x04,0x0A,0x0A,0x1B,0x00,0x00},/*"X",56*/
{0x00,0x00,0x1B,0x0A,0x0A,0x0A,0x04,0x04,0x04,0x0E,0x00,0x00},/*"Y",57*/
{0x00,0x00,0x1F,0x09,0x08,0x04,0x04,0x02,0x12,0x1F,0x00,0x00},/*"Z",58*/
{0x1C,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x1C,0x00},/*"[",59*/
{0x00,0x02,0x02,0x04,0x04,0x04,0x08,0x08,0x08,0x10,0x10,0x00},/*"\",60*/
{0x0E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x0E,0x00},/*"]",61*/
{0x04,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F},/*"_",63*/
{0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
{0x00,0x00,0x00,0x00,0x00,0x0C,0x12,0x1C,0x12,0x3C,0x00,0x00},/*"a",65*/
{0x00,0x03,0x02,0x02,0x02,0x0E,0x12,0x12,0x12,0x0E,0x00,0x00},/*"b",66*/
{0x00,0x00,0x00,0x00,0x00,0x1C,0x12,0x02,0x12,0x0C,0x00,0x00},/*"c",67*/
{0x00,0x18,0x10,0x10,0x10,0x1C,0x12,0x12,0x12,0x3C,0x00,0x00},/*"d",68*/
{0x00,0x00,0x00,0x00,0x00,0x0C,0x12,0x1E,0x02,0x1C,0x00,0x00},/*"e",69*/
{0x00,0x18,0x24,0x04,0x04,0x1E,0x04,0x04,0x04,0x1E,0x00,0x00},/*"f",70*/
{0x00,0x00,0x00,0x00,0x00,0x3C,0x12,0x0C,0x02,0x1C,0x22,0x1C},/*"g",71*/
{0x00,0x03,0x02,0x02,0x02,0x0E,0x12,0x12,0x12,0x37,0x00,0x00},/*"h",72*/
{0x00,0x04,0x04,0x00,0x00,0x06,0x04,0x04,0x04,0x0E,0x00,0x00},/*"i",73*/
{0x00,0x08,0x08,0x00,0x00,0x0C,0x08,0x08,0x08,0x08,0x08,0x07},/*"j",74*/
{0x00,0x03,0x02,0x02,0x02,0x1A,0x0A,0x06,0x0A,0x13,0x00,0x00},/*"k",75*/
{0x00,0x07,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x1F,0x00,0x00},/*"l",76*/
{0x00,0x00,0x00,0x00,0x00,0x0F,0x15,0x15,0x15,0x15,0x00,0x00},/*"m",77*/
{0x00,0x00,0x00,0x00,0x00,0x0F,0x12,0x12,0x12,0x37,0x00,0x00},/*"n",78*/
{0x00,0x00,0x00,0x00,0x00,0x0C,0x12,0x12,0x12,0x0C,0x00,0x00},/*"o",79*/
{0x00,0x00,0x00,0x00,0x00,0x0F,0x12,0x12,0x12,0x0E,0x02,0x07},/*"p",80*/
{0x00,0x00,0x00,0x00,0x00,0x1C,0x12,0x12,0x12,0x1C,0x10,0x38},/*"q",81*/
{0x00,0x00,0x00,0x00,0x00,0x1B,0x06,0x02,0x02,0x07,0x00,0x00},/*"r",82*/
{0x00,0x00,0x00,0x00,0x00,0x1E,0x02,0x0C,0x10,0x1E,0x00,0x00},/*"s",83*/
{0x00,0x00,0x00,0x04,0x04,0x1E,0x04,0x04,0x04,0x1C,0x00,0x00},/*"t",84*/
{0x00,0x00,0x00,0x00,0x00,0x1B,0x12,0x12,0x12,0x3C,0x00,0x00},/*"u",85*/
{0x00,0x00,0x00,0x00,0x00,0x1B,0x0A,0x0A,0x04,0x04,0x00,0x00},/*"v",86*/
{0x00,0x00,0x00,0x00,0x00,0x15,0x15,0x0E,0x0A,0x0A,0x00,0x00},/*"w",87*/
{0x00,0x00,0x00,0x00,0x00,0x1B,0x0A,0x04,0x0A,0x1B,0x00,0x00},/*"x",88*/
{0x00,0x00,0x00,0x00,0x00,0x33,0x12,0x12,0x0C,0x08,0x04,0x03},/*"y",89*/
{0x00,0x00,0x00,0x00,0x00,0x1E,0x08,0x04,0x04,0x1E,0x00,0x00},/*"z",90*/
{0x18,0x08,0x08,0x08,0x08,0x0C,0x08,0x08,0x08,0x08,0x18,0x00},/*"{",91*/
{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},/*"|",92*/
{0x06,0x04,0x04,0x04,0x04,0x08,0x04,0x04,0x04,0x04,0x06,0x00},/*"}",93*/
{0x16,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/
};
const unsigned char ascii_1608[][16]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
{0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x18,0x18,0x00,0x00},/*"!",1*/
{0x00,0x48,0x6C,0x24,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/
{0x00,0x00,0x00,0x24,0x24,0x24,0x7F,0x12,0x12,0x12,0x7F,0x12,0x12,0x12,0x00,0x00},/*"#",3*/
{0x00,0x00,0x08,0x1C,0x2A,0x2A,0x0A,0x0C,0x18,0x28,0x28,0x2A,0x2A,0x1C,0x08,0x08},/*"$",4*/
{0x00,0x00,0x00,0x22,0x25,0x15,0x15,0x15,0x2A,0x58,0x54,0x54,0x54,0x22,0x00,0x00},/*"%",5*/
{0x00,0x00,0x00,0x0C,0x12,0x12,0x12,0x0A,0x76,0x25,0x29,0x11,0x91,0x6E,0x00,0x00},/*"&",6*/
{0x00,0x06,0x06,0x04,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
{0x00,0x40,0x20,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x10,0x10,0x20,0x40,0x00},/*"(",8*/
{0x00,0x02,0x04,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x10,0x08,0x08,0x04,0x02,0x00},/*")",9*/
{0x00,0x00,0x00,0x00,0x08,0x08,0x6B,0x1C,0x1C,0x6B,0x08,0x08,0x00,0x00,0x00,0x00},/*"*",10*/
{0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x7F,0x08,0x08,0x08,0x08,0x00,0x00,0x00},/*"+",11*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x04,0x03},/*",",12*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",13*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00},/*".",14*/
{0x00,0x00,0x80,0x40,0x40,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x02,0x02,0x00},/*"/",15*/
{0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00},/*"0",16*/
{0x00,0x00,0x00,0x08,0x0E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"1",17*/
{0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x20,0x20,0x10,0x08,0x04,0x42,0x7E,0x00,0x00},/*"2",18*/
{0x00,0x00,0x00,0x3C,0x42,0x42,0x20,0x18,0x20,0x40,0x40,0x42,0x22,0x1C,0x00,0x00},/*"3",19*/
{0x00,0x00,0x00,0x20,0x30,0x28,0x24,0x24,0x22,0x22,0x7E,0x20,0x20,0x78,0x00,0x00},/*"4",20*/
{0x00,0x00,0x00,0x7E,0x02,0x02,0x02,0x1A,0x26,0x40,0x40,0x42,0x22,0x1C,0x00,0x00},/*"5",21*/
{0x00,0x00,0x00,0x38,0x24,0x02,0x02,0x1A,0x26,0x42,0x42,0x42,0x24,0x18,0x00,0x00},/*"6",22*/
{0x00,0x00,0x00,0x7E,0x22,0x22,0x10,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00},/*"7",23*/
{0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00},/*"8",24*/
{0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x64,0x58,0x40,0x40,0x24,0x1C,0x00,0x00},/*"9",25*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00},/*":",26*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x04},/*";",27*/
{0x00,0x00,0x00,0x40,0x20,0x10,0x08,0x04,0x02,0x04,0x08,0x10,0x20,0x40,0x00,0x00},/*"<",28*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00},/*"=",29*/
{0x00,0x00,0x00,0x02,0x04,0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x04,0x02,0x00,0x00},/*">",30*/
{0x00,0x00,0x00,0x3C,0x42,0x42,0x46,0x40,0x20,0x10,0x10,0x00,0x18,0x18,0x00,0x00},/*"?",31*/
{0x00,0x00,0x00,0x1C,0x22,0x5A,0x55,0x55,0x55,0x55,0x2D,0x42,0x22,0x1C,0x00,0x00},/*"@",32*/
{0x00,0x00,0x00,0x08,0x08,0x18,0x14,0x14,0x24,0x3C,0x22,0x42,0x42,0xE7,0x00,0x00},/*"A",33*/
{0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x1E,0x22,0x42,0x42,0x42,0x22,0x1F,0x00,0x00},/*"B",34*/
{0x00,0x00,0x00,0x7C,0x42,0x42,0x01,0x01,0x01,0x01,0x01,0x42,0x22,0x1C,0x00,0x00},/*"C",35*/
{0x00,0x00,0x00,0x1F,0x22,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x22,0x1F,0x00,0x00},/*"D",36*/
{0x00,0x00,0x00,0x3F,0x42,0x12,0x12,0x1E,0x12,0x12,0x02,0x42,0x42,0x3F,0x00,0x00},/*"E",37*/
{0x00,0x00,0x00,0x3F,0x42,0x12,0x12,0x1E,0x12,0x12,0x02,0x02,0x02,0x07,0x00,0x00},/*"F",38*/
{0x00,0x00,0x00,0x3C,0x22,0x22,0x01,0x01,0x01,0x71,0x21,0x22,0x22,0x1C,0x00,0x00},/*"G",39*/
{0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},/*"H",40*/
{0x00,0x00,0x00,0x3E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"I",41*/
{0x00,0x00,0x00,0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x0F},/*"J",42*/
{0x00,0x00,0x00,0x77,0x22,0x12,0x0A,0x0E,0x0A,0x12,0x12,0x22,0x22,0x77,0x00,0x00},/*"K",43*/
{0x00,0x00,0x00,0x07,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x42,0x7F,0x00,0x00},/*"L",44*/
{0x00,0x00,0x00,0x77,0x36,0x36,0x36,0x36,0x2A,0x2A,0x2A,0x2A,0x2A,0x6B,0x00,0x00},/*"M",45*/
{0x00,0x00,0x00,0xE3,0x46,0x46,0x4A,0x4A,0x52,0x52,0x52,0x62,0x62,0x47,0x00,0x00},/*"N",46*/
{0x00,0x00,0x00,0x1C,0x22,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x22,0x1C,0x00,0x00},/*"O",47*/
{0x00,0x00,0x00,0x3F,0x42,0x42,0x42,0x42,0x3E,0x02,0x02,0x02,0x02,0x07,0x00,0x00},/*"P",48*/
{0x00,0x00,0x00,0x1C,0x22,0x41,0x41,0x41,0x41,0x41,0x4D,0x53,0x32,0x1C,0x60,0x00},/*"Q",49*/
{0x00,0x00,0x00,0x3F,0x42,0x42,0x42,0x3E,0x12,0x12,0x22,0x22,0x42,0xC7,0x00,0x00},/*"R",50*/
{0x00,0x00,0x00,0x7C,0x42,0x42,0x02,0x04,0x18,0x20,0x40,0x42,0x42,0x3E,0x00,0x00},/*"S",51*/
{0x00,0x00,0x00,0x7F,0x49,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x1C,0x00,0x00},/*"T",52*/
{0x00,0x00,0x00,0xE7,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00},/*"U",53*/
{0x00,0x00,0x00,0xE7,0x42,0x42,0x22,0x24,0x24,0x14,0x14,0x18,0x08,0x08,0x00,0x00},/*"V",54*/
{0x00,0x00,0x00,0x6B,0x49,0x49,0x49,0x49,0x55,0x55,0x36,0x22,0x22,0x22,0x00,0x00},/*"W",55*/
{0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x18,0x18,0x18,0x24,0x24,0x42,0xE7,0x00,0x00},/*"X",56*/
{0x00,0x00,0x00,0x77,0x22,0x22,0x14,0x14,0x08,0x08,0x08,0x08,0x08,0x1C,0x00,0x00},/*"Y",57*/
{0x00,0x00,0x00,0x7E,0x21,0x20,0x10,0x10,0x08,0x04,0x04,0x42,0x42,0x3F,0x00,0x00},/*"Z",58*/
{0x00,0x78,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x78,0x00},/*"[",59*/
{0x00,0x00,0x02,0x02,0x04,0x04,0x08,0x08,0x08,0x10,0x10,0x20,0x20,0x20,0x40,0x40},/*"\",60*/
{0x00,0x1E,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1E,0x00},/*"]",61*/
{0x00,0x38,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF},/*"_",63*/
{0x00,0x06,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x78,0x44,0x42,0x42,0xFC,0x00,0x00},/*"a",65*/
{0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x1A,0x26,0x42,0x42,0x42,0x26,0x1A,0x00,0x00},/*"b",66*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x44,0x02,0x02,0x02,0x44,0x38,0x00,0x00},/*"c",67*/
{0x00,0x00,0x00,0x60,0x40,0x40,0x40,0x78,0x44,0x42,0x42,0x42,0x64,0xD8,0x00,0x00},/*"d",68*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x7E,0x02,0x02,0x42,0x3C,0x00,0x00},/*"e",69*/
{0x00,0x00,0x00,0xF0,0x88,0x08,0x08,0x7E,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"f",70*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x22,0x22,0x1C,0x02,0x3C,0x42,0x42,0x3C},/*"g",71*/
{0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x3A,0x46,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},/*"h",72*/
{0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x0E,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"i",73*/
{0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x38,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x1E},/*"j",74*/
{0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x72,0x12,0x0A,0x16,0x12,0x22,0x77,0x00,0x00},/*"k",75*/
{0x00,0x00,0x00,0x0E,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"l",76*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x92,0x92,0x92,0x92,0x92,0xB7,0x00,0x00},/*"m",77*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3B,0x46,0x42,0x42,0x42,0x42,0xE7,0x00,0x00},/*"n",78*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,0x00},/*"o",79*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x26,0x42,0x42,0x42,0x22,0x1E,0x02,0x07},/*"p",80*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x44,0x42,0x42,0x42,0x44,0x78,0x40,0xE0},/*"q",81*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x77,0x4C,0x04,0x04,0x04,0x04,0x1F,0x00,0x00},/*"r",82*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x42,0x02,0x3C,0x40,0x42,0x3E,0x00,0x00},/*"s",83*/
{0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x3E,0x08,0x08,0x08,0x08,0x08,0x30,0x00,0x00},/*"t",84*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x42,0x42,0x42,0x42,0x62,0xDC,0x00,0x00},/*"u",85*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x14,0x08,0x08,0x00,0x00},/*"v",86*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEB,0x49,0x49,0x55,0x55,0x22,0x22,0x00,0x00},/*"w",87*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x24,0x18,0x18,0x18,0x24,0x6E,0x00,0x00},/*"x",88*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE7,0x42,0x24,0x24,0x14,0x18,0x08,0x08,0x07},/*"y",89*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x22,0x10,0x08,0x08,0x44,0x7E,0x00,0x00},/*"z",90*/
{0x00,0xC0,0x20,0x20,0x20,0x20,0x20,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0xC0,0x00},/*"{",91*/
{0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},/*"|",92*/
{0x00,0x06,0x08,0x08,0x08,0x08,0x08,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x06,0x00},/*"}",93*/
{0x0C,0x32,0xC2,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/
};
const unsigned char ascii_2412[][48]={
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"!",1*/
{0x00,0x00,0x00,0x00,0x60,0x06,0x60,0x06,0x30,0x03,0x98,0x01,0x88,0x00,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x02,0x10,0x02,0x10,0x02,0x10,0x02,0xFE,0x07,0xFE,0x07,0x08,0x02,0x08,0x01,0x08,0x01,0x08,0x01,0x08,0x01,0xFE,0x07,0xFE,0x07,0x04,0x01,0x04,0x01,0x04,0x01,0x04,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"#",3*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0xF0,0x01,0x58,0x03,0x4C,0x03,0xCC,0x03,0x4C,0x00,0x58,0x00,0x70,0x00,0xE0,0x00,0xC0,0x01,0xC0,0x01,0x40,0x03,0x4C,0x03,0x5C,0x03,0x4C,0x03,0x48,0x01,0xF0,0x00,0x40,0x00,0x40,0x00,0x00,0x00},/*"$",4*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x01,0x0A,0x01,0x91,0x00,0x91,0x00,0x91,0x00,0x51,0x00,0x51,0x00,0x3A,0x00,0xAE,0x03,0xA0,0x02,0x50,0x04,0x50,0x04,0x48,0x04,0x48,0x04,0x48,0x04,0x84,0x02,0x84,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"%",5*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x6C,0x00,0x6C,0x00,0x6C,0x00,0x6C,0x00,0x6C,0x00,0x2C,0x00,0x98,0x07,0x1C,0x01,0x1A,0x01,0x33,0x01,0x33,0x01,0x63,0x01,0xE3,0x00,0xC3,0x08,0xC6,0x09,0x3C,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"&",6*/
{0x00,0x00,0x00,0x00,0x0C,0x00,0x1C,0x00,0x10,0x00,0x10,0x00,0x08,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
{0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x80,0x00,0x80,0x00,0x00,0x01,0x00,0x02,0x00,0x04,0x00,0x00},/*"(",8*/
{0x00,0x00,0x00,0x00,0x02,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x10,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x10,0x00,0x10,0x00,0x08,0x00,0x04,0x00,0x02,0x00,0x00,0x00},/*")",9*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0xC0,0x00,0x40,0x00,0x46,0x0C,0x4E,0x0F,0xD0,0x01,0xF0,0x01,0x5E,0x0F,0x46,0x0C,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"*",10*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0xFE,0x0F,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"+",11*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x1C,0x00,0x10,0x00,0x10,0x00,0x08,0x00,0x04,0x00},/*",",12*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",13*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x1C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*".",14*/
{0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x06,0x00,0x02,0x00,0x03,0x00,0x01,0x00,0x01,0x80,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x60,0x00,0x20,0x00,0x20,0x00,0x10,0x00,0x10,0x00,0x08,0x00,0x08,0x00,0x0C,0x00,0x04,0x00,0x06,0x00,0x02,0x00,0x00,0x00},/*"/",15*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x98,0x01,0x0C,0x03,0x0C,0x03,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x0C,0x03,0x0C,0x03,0x98,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"0",16*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x7C,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"1",17*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x00,0x84,0x01,0x02,0x03,0x06,0x03,0x06,0x03,0x00,0x03,0x00,0x01,0x80,0x01,0xC0,0x00,0x60,0x00,0x20,0x00,0x10,0x00,0x08,0x02,0x04,0x02,0x06,0x02,0xFE,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"2",18*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00,0xC6,0x00,0x86,0x01,0x86,0x01,0x80,0x01,0x80,0x01,0xC0,0x00,0x70,0x00,0x80,0x01,0x00,0x01,0x00,0x03,0x00,0x03,0x06,0x03,0x06,0x03,0x86,0x01,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"3",19*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x80,0x01,0xC0,0x01,0xA0,0x01,0xA0,0x01,0x90,0x01,0x88,0x01,0x88,0x01,0x84,0x01,0x82,0x01,0xFE,0x0F,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xE0,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"4",20*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x03,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0xF4,0x00,0x8C,0x01,0x04,0x03,0x00,0x03,0x00,0x03,0x06,0x03,0x06,0x03,0x82,0x01,0x84,0x01,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"5",21*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0x18,0x03,0x0C,0x03,0x0C,0x00,0x04,0x00,0x06,0x00,0xE6,0x01,0x16,0x03,0x0E,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x04,0x06,0x0C,0x02,0x18,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"6",22*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0x0C,0x06,0x04,0x02,0x04,0x01,0x00,0x01,0x00,0x01,0x80,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"7",23*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x01,0x0C,0x03,0x06,0x06,0x06,0x06,0x06,0x06,0x0C,0x02,0x1C,0x03,0xF0,0x00,0xC8,0x01,0x0C,0x03,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x0C,0x03,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"8",24*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x0C,0x01,0x0C,0x03,0x06,0x02,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x07,0x8C,0x06,0x78,0x06,0x00,0x06,0x00,0x03,0x00,0x03,0x0C,0x01,0x8C,0x01,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"9",25*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*":",26*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x40,0x00,0x20,0x00,0x20,0x00},/*";",27*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00,0x40,0x00,0x20,0x00,0x10,0x00,0x08,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x80,0x00,0x00,0x01,0x00,0x02,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00},/*"<",28*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"=",29*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x80,0x00,0x00,0x01,0x00,0x02,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00,0x40,0x00,0x20,0x00,0x10,0x00,0x08,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*">",30*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x03,0x18,0x06,0x04,0x0C,0x04,0x0C,0x0C,0x0C,0x0C,0x0C,0x00,0x07,0x80,0x01,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0xE0,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"?",31*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x18,0x03,0x0C,0x02,0xCC,0x05,0x64,0x05,0x66,0x05,0xA6,0x05,0xB6,0x04,0xB6,0x04,0xB6,0x04,0xB6,0x04,0xB6,0x02,0xE4,0x01,0x0C,0x04,0x0C,0x02,0x18,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"@",32*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x50,0x00,0xD0,0x00,0x90,0x00,0x90,0x00,0x88,0x00,0x88,0x01,0x08,0x01,0xF8,0x01,0x04,0x03,0x04,0x03,0x04,0x02,0x02,0x02,0x02,0x06,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00},/*"A",33*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x00,0x8C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x8C,0x01,0xFC,0x00,0x0C,0x03,0x0C,0x02,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x03,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"B",34*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x03,0x18,0x03,0x0C,0x06,0x0C,0x04,0x04,0x04,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x04,0x0C,0x04,0x0C,0x02,0x18,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"C",35*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x8C,0x01,0x0C,0x03,0x0C,0x03,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x03,0x0C,0x03,0x8C,0x01,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"D",36*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x06,0x03,0x06,0x04,0x06,0x04,0x06,0x00,0x86,0x00,0x86,0x00,0xFE,0x00,0x86,0x00,0x86,0x00,0x86,0x00,0x06,0x00,0x06,0x04,0x06,0x04,0x06,0x02,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"E",37*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x03,0x06,0x03,0x06,0x04,0x06,0x04,0x06,0x00,0x86,0x00,0x86,0x00,0xFE,0x00,0x86,0x00,0x86,0x00,0x86,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"F",38*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x18,0x01,0x0C,0x02,0x0C,0x02,0x04,0x02,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0xC6,0x0F,0x06,0x03,0x06,0x03,0x0C,0x03,0x0C,0x03,0x18,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"G",39*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0xFE,0x07,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00},/*"H",40*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x03,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"I",41*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x07,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00,0xC6,0x00,0x66,0x00,0x3C,0x00},/*"J",42*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCF,0x03,0x86,0x01,0xC6,0x00,0x46,0x00,0x26,0x00,0x16,0x00,0x36,0x00,0x2E,0x00,0x6E,0x00,0x46,0x00,0xC6,0x00,0x86,0x00,0x86,0x01,0x06,0x01,0x06,0x03,0x8F,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"K",43*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x04,0x06,0x04,0x06,0x02,0xFF,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"L",44*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x07,0x86,0x03,0x86,0x03,0x8E,0x03,0x8E,0x03,0x4E,0x03,0x4E,0x03,0x4A,0x03,0x5A,0x03,0x5A,0x03,0x3A,0x03,0x32,0x03,0x32,0x03,0x32,0x03,0x12,0x03,0x87,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"M",45*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8E,0x0F,0x0C,0x02,0x1C,0x02,0x1C,0x02,0x34,0x02,0x34,0x02,0x64,0x02,0x64,0x02,0x44,0x02,0xC4,0x02,0x84,0x02,0x84,0x03,0x84,0x03,0x04,0x03,0x04,0x03,0x1F,0x02,0x00,0x00,0x00,0x00,0x00,0x00},/*"N",46*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x98,0x01,0x0C,0x03,0x0C,0x02,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x0C,0x02,0x0C,0x03,0x98,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"O",47*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x06,0x03,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x86,0x03,0xFE,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"P",48*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x98,0x01,0x0C,0x03,0x0C,0x02,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x76,0x06,0x4C,0x02,0xCC,0x03,0x98,0x01,0xF0,0x00,0x80,0x07,0x00,0x03,0x00,0x00},/*"Q",49*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x01,0x06,0x03,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x03,0xFE,0x00,0x46,0x00,0xC6,0x00,0x86,0x00,0x86,0x01,0x06,0x03,0x06,0x03,0x06,0x06,0x0F,0x0E,0x00,0x00,0x00,0x00,0x00,0x00},/*"R",50*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x02,0x0C,0x03,0x06,0x02,0x06,0x02,0x06,0x00,0x0E,0x00,0x3C,0x00,0xF8,0x00,0xE0,0x03,0x80,0x03,0x00,0x07,0x02,0x06,0x02,0x06,0x06,0x06,0x0C,0x03,0xF0,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"S",51*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x07,0x62,0x04,0x61,0x08,0x61,0x08,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"T",52*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x07,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x0C,0x02,0x18,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"U",53*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x07,0x06,0x02,0x04,0x01,0x04,0x01,0x0C,0x01,0x0C,0x01,0x88,0x00,0x88,0x00,0x98,0x00,0x98,0x00,0x50,0x00,0x50,0x00,0x70,0x00,0x30,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"V",54*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF7,0x0E,0x62,0x04,0x42,0x04,0x46,0x04,0x46,0x04,0x64,0x02,0x64,0x02,0xE4,0x02,0xE4,0x02,0x9C,0x02,0x9C,0x01,0x98,0x01,0x98,0x01,0x88,0x01,0x88,0x00,0x88,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"W",55*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9E,0x07,0x0C,0x01,0x08,0x01,0x18,0x01,0x90,0x00,0xB0,0x00,0x60,0x00,0x20,0x00,0x60,0x00,0x60,0x00,0xD0,0x00,0x90,0x00,0x88,0x01,0x08,0x01,0x04,0x03,0x8E,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"X",56*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x06,0x04,0x04,0x02,0x0C,0x02,0x08,0x01,0x18,0x01,0xB8,0x00,0xB0,0x00,0x70,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0xF8,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"Y",57*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x07,0x0C,0x02,0x06,0x03,0x02,0x01,0x80,0x01,0x80,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x10,0x00,0x18,0x00,0x08,0x04,0x0C,0x04,0x04,0x02,0xFE,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"Z",58*/
{0x00,0x00,0x00,0x00,0xE0,0x03,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0xE0,0x03,0x00,0x00},/*"[",59*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0x08,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0xC0,0x00,0x80,0x00,0x80,0x00,0x00,0x01,0x00,0x01,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x04},/*"\",60*/
{0x00,0x00,0x00,0x00,0x7C,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x7C,0x00,0x00,0x00},/*"]",61*/
{0x00,0x00,0x60,0x00,0x90,0x00,0x08,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x0F},/*"_",63*/
{0x00,0x00,0x00,0x00,0x18,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x01,0x0C,0x03,0x0C,0x03,0x00,0x03,0xE0,0x03,0x1C,0x03,0x0E,0x03,0x06,0x03,0x06,0x03,0x8E,0x0B,0x7C,0x0E,0x00,0x00,0x00,0x00,0x00,0x00},/*"a",65*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x0E,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0xCC,0x01,0x3C,0x03,0x1C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x02,0x1C,0x03,0xE4,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"b",66*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x8C,0x01,0x8C,0x01,0x86,0x01,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x02,0x0C,0x02,0x0C,0x01,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"c",67*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0xC0,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x00,0x03,0x78,0x03,0x8C,0x03,0x0C,0x03,0x06,0x03,0x06,0x03,0x06,0x03,0x06,0x03,0x06,0x03,0x04,0x03,0x8C,0x07,0x78,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"d",68*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x01,0x18,0x03,0x08,0x02,0x0C,0x06,0x0C,0x06,0xFC,0x07,0x0C,0x00,0x0C,0x00,0x18,0x04,0x18,0x02,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"e",69*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x03,0x60,0x06,0x30,0x06,0x30,0x00,0x30,0x00,0xFE,0x01,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"f",70*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x07,0xD8,0x06,0x8C,0x01,0x8C,0x01,0x8C,0x01,0x98,0x01,0xF8,0x00,0x0C,0x00,0xFC,0x00,0xCC,0x03,0x06,0x03,0x06,0x03,0x8E,0x03,0xF8,0x00},/*"g",71*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x0E,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0xEC,0x01,0x1C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x9E,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"h",72*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x7C,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"i",73*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0xF0,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xCC,0x00,0x7C,0x00},/*"j",74*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x0E,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,0x8C,0x03,0x8C,0x00,0x8C,0x00,0x4C,0x00,0x6C,0x00,0x5C,0x00,0x8C,0x00,0x8C,0x01,0x0C,0x01,0x0C,0x03,0x9E,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"k",75*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x7C,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0x00,0x00},/*"l",76*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x37,0x07,0xEE,0x06,0x66,0x06,0x66,0x06,0x66,0x06,0x66,0x06,0x66,0x06,0x66,0x06,0x66,0x06,0x66,0x06,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00},/*"m",77*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEE,0x01,0x1C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x9E,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"n",78*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x98,0x01,0x0C,0x03,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x0C,0x03,0x0C,0x03,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"o",79*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xEE,0x01,0x1C,0x03,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x06,0x0C,0x03,0x1C,0x03,0xEC,0x01,0x0C,0x00,0x0C,0x00,0x3E,0x00},/*"p",80*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x02,0x8C,0x03,0x0C,0x03,0x06,0x03,0x06,0x03,0x06,0x03,0x06,0x03,0x06,0x03,0x04,0x03,0x8C,0x03,0x78,0x03,0x00,0x03,0x00,0x03,0xC0,0x07},/*"q",81*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9F,0x03,0x58,0x06,0x38,0x06,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0x18,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"r",82*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x03,0x1C,0x03,0x0C,0x02,0x0C,0x02,0x38,0x00,0xF0,0x00,0xC0,0x03,0x04,0x03,0x04,0x03,0x8C,0x03,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"s",83*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x30,0x00,0x30,0x00,0xFE,0x01,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x00,0x30,0x02,0x30,0x02,0xE0,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"t",84*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x02,0x8E,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x0C,0x03,0x9C,0x07,0x78,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"u",85*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x07,0x0C,0x02,0x08,0x01,0x08,0x01,0x18,0x01,0x90,0x00,0xB0,0x00,0xB0,0x00,0x60,0x00,0x60,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"v",86*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF7,0x0E,0x62,0x04,0x46,0x04,0x64,0x02,0x64,0x02,0xEC,0x02,0x9C,0x01,0x98,0x01,0x98,0x01,0x98,0x01,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"w",87*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBC,0x07,0x18,0x01,0x10,0x01,0xB0,0x00,0x60,0x00,0x60,0x00,0xE0,0x00,0x90,0x00,0x08,0x01,0x08,0x03,0x9E,0x07,0x00,0x00,0x00,0x00,0x00,0x00},/*"x",88*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9E,0x07,0x08,0x01,0x08,0x01,0x08,0x01,0x90,0x00,0x90,0x00,0xB0,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x20,0x00,0x20,0x00,0x24,0x00,0x1C,0x00},/*"y",89*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x01,0x84,0x01,0xC4,0x00,0x44,0x00,0x60,0x00,0x20,0x00,0x30,0x00,0x18,0x02,0x08,0x02,0x0C,0x03,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00},/*"z",90*/
{0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x40,0x00,0x20,0x00,0x40,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00,0x03,0x00,0x00},/*"{",91*/
{0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00},/*"|",92*/
{0x00,0x00,0x00,0x00,0x0C,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x20,0x00,0x40,0x00,0x20,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x0C,0x00,0x00,0x00},/*"}",93*/
{0x00,0x00,0x1C,0x00,0x22,0x04,0xC2,0x04,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/
};
#endif

View File

@ -1,416 +0,0 @@
#ifndef __PIC_H
#define __PIC_H
/********************************** ͼ Ƭ *****************************************/
const unsigned char gImage1[3200] = { /* 0X10,0X10,0X00,0X28,0X00,0X28,0X01,0X1B, */
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0XBE,
0XFF,0XFF,0XFF,0XDE,0XC6,0X38,0X8C,0X92,0X6B,0X8E,0X6B,0X6E,0X7C,0X10,0XAD,0X96,
0XE7,0X3C,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XEF,0X5D,
0X9D,0X15,0X63,0X4F,0X42,0X6C,0X32,0X0A,0X29,0X88,0X19,0X46,0X19,0X25,0X21,0X45,
0X31,0XE8,0X6B,0X8E,0XC6,0X38,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XA5,0X36,0X53,0X10,
0X4B,0X10,0X53,0X51,0X4B,0X0F,0X3A,0X6C,0X31,0XE9,0X21,0X67,0X19,0X25,0X10,0XE4,
0X08,0XA3,0X00,0X62,0X08,0X83,0X52,0XCB,0XD6,0X9A,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0X3C,0X63,0X70,0X63,0XB3,0X7C,0XB8,
0X63,0XF5,0X43,0X11,0X32,0X4D,0X29,0XEA,0X21,0X88,0X19,0X26,0X19,0X05,0X19,0X05,
0X11,0X04,0X11,0X04,0X10,0XE4,0X00,0X83,0X08,0XA3,0X8C,0X72,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDE,0XDB,0X3A,0X4B,0X42,0XF0,0X6C,0X35,0X4B,0X54,
0X32,0XB1,0X2A,0X2E,0X21,0XEB,0X21,0XA9,0X19,0X67,0X19,0X05,0X11,0X04,0X11,0X04,
0X11,0X04,0X11,0X04,0X11,0X04,0X19,0X05,0X10,0XE4,0X00,0X42,0X73,0XAF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XEF,0X5D,0X32,0X09,0X32,0X4C,0X4B,0X10,0X32,0X8F,0X2A,0X4F,
0X2A,0X2E,0X19,0XCC,0X19,0X89,0X21,0X89,0X19,0X47,0X19,0X05,0X11,0X04,0X11,0X04,
0X10,0XC4,0X10,0XC4,0X11,0X04,0X11,0X04,0X11,0X04,0X10,0XE4,0X00,0X42,0X84,0X31,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0X52,0XEC,0X19,0X47,0X32,0X4C,0X2A,0X0B,0X21,0XEC,0X21,0XEC,
0X22,0X0C,0X5B,0X91,0X4A,0XEE,0X11,0X06,0X19,0X26,0X19,0X04,0X10,0XE4,0X10,0XE4,
0X29,0XA7,0X21,0X66,0X08,0XA3,0X19,0X05,0X11,0X04,0X11,0X04,0X10,0XE4,0X00,0X82,
0XBD,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XA5,0X35,0X08,0X83,0X21,0X88,0X21,0X88,0X21,0X89,0X21,0XAA,0X21,0X8A,
0X42,0X6B,0X8C,0X71,0XFF,0XFF,0X8C,0X72,0X08,0X83,0X11,0X04,0X08,0XC4,0X42,0X29,
0XDE,0XFB,0XEF,0X5D,0X5A,0XEC,0X08,0X83,0X11,0X04,0X11,0X04,0X11,0X04,0X08,0X83,
0X31,0XE8,0XFF,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XF7,0XBE,0X31,0XC7,0X10,0XC4,0X19,0X25,0X19,0X26,0X19,0X47,0X19,0X47,0X29,0XA8,
0X52,0X8A,0X4A,0X28,0XAD,0X55,0XFF,0XFF,0X31,0XE8,0X08,0XA3,0X19,0X05,0X6B,0X4D,
0X6B,0X4D,0XFF,0XFF,0XEF,0X7D,0X21,0X45,0X10,0XC4,0X11,0X04,0X11,0X04,0X11,0X04,
0X00,0X62,0XAD,0X76,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XB5,0X96,0X00,0X62,0X11,0X04,0X19,0X04,0X11,0X05,0X19,0X05,0X08,0XC4,0X4A,0X8B,
0XB5,0XB6,0XEF,0X5D,0XBD,0XF7,0XFF,0XFF,0X6B,0X8E,0X00,0X62,0X42,0X29,0X5A,0XAA,
0X42,0X08,0XFF,0XFF,0XFF,0XFF,0X52,0XCC,0X08,0X83,0X11,0X04,0X11,0X04,0X11,0X04,
0X08,0XA3,0X52,0XAD,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0X1C,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0X63,0X4E,0X00,0X62,0X11,0X04,0X11,0X04,0X11,0X04,0X10,0XE4,0X00,0X62,0X63,0X8E,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X73,0XCF,0X00,0X01,0X9C,0XF3,0X63,0X2C,
0XB5,0X96,0XFF,0XFF,0XFF,0XFF,0X5B,0X2D,0X00,0X83,0X11,0X04,0X11,0X04,0X11,0X04,
0X10,0XE4,0X21,0X67,0XEF,0X3D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XBD,0XF8,0XB5,0XB7,0XEF,0X9E,0X52,0XCB,0X94,0XB3,0XFF,0XFF,0XFF,0XFF,0XFF,0XDF,
0X31,0XE8,0X08,0XA3,0X11,0X04,0X11,0X04,0X11,0X04,0X11,0X04,0X08,0XA3,0X42,0X49,
0XF7,0XFF,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0X4A,0X6A,0X00,0X01,0X84,0X72,0XFF,0XFF,
0XFF,0XFF,0XF7,0XFF,0XEF,0XDF,0X3A,0X09,0X08,0XA3,0X11,0X04,0X11,0X04,0X11,0X04,
0X11,0X04,0X11,0X05,0XBE,0X18,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0X7B,0XF0,0X00,0X62,0X31,0XE8,0X31,0XC7,0X00,0X41,0XA5,0X35,0XFF,0XFF,0XEF,0X5D,
0X21,0X46,0X10,0XC4,0X11,0X04,0X11,0X04,0X11,0X04,0X11,0X04,0X10,0XE4,0X08,0XA3,
0X9D,0X76,0XF7,0XFF,0XFF,0XFF,0XAD,0XB7,0X08,0XA3,0X08,0XA3,0X31,0XC7,0XE7,0X9E,
0XF7,0XFF,0XF7,0XFF,0XA5,0X76,0X08,0XA3,0X10,0XE4,0X11,0X04,0X11,0X04,0X11,0X04,
0X11,0X05,0X11,0X05,0XA5,0X35,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XDE,0XDB,0X29,0XA7,0X00,0X83,0X10,0XC4,0X10,0XC4,0X10,0XC4,0XE7,0X1C,0XEF,0X9E,
0X11,0X05,0X10,0XE4,0X11,0X04,0X11,0X04,0X11,0X04,0X11,0X04,0X19,0X04,0X08,0XC4,
0X10,0XE5,0X6B,0XD1,0X6B,0XD1,0X08,0XC5,0X00,0X64,0X08,0XA5,0X00,0X43,0X32,0X2B,
0X9D,0X77,0X84,0XB3,0X19,0X25,0X10,0XC4,0X11,0X04,0X11,0X04,0X11,0X04,0X11,0X04,
0X19,0X25,0X09,0X26,0X9D,0X35,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0X73,0XAF,0X00,0X62,0X19,0X04,0X19,0X05,0X00,0X82,0X5B,0X0D,0X9B,0X8E,
0X10,0X62,0X11,0X05,0X11,0X04,0X11,0X04,0X19,0X04,0X10,0XE4,0X00,0X85,0X11,0X05,
0X39,0XC4,0X5A,0X81,0X7B,0X40,0X9C,0X22,0XAC,0X43,0XA4,0X03,0X9B,0X83,0X72,0X82,
0X49,0X82,0X18,0XC2,0X00,0XA4,0X00,0XC5,0X10,0XE4,0X19,0X04,0X11,0X04,0X19,0X05,
0X19,0X47,0X11,0X67,0X5A,0XEC,0XFF,0XBE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XDF,0XDE,0XDB,0X10,0XC4,0X10,0XE4,0X11,0X04,0X11,0X05,0X18,0XA4,0XC0,0X01,
0X88,0X83,0X00,0XE4,0X19,0X05,0X19,0X04,0X08,0XC5,0X21,0X44,0X83,0X43,0XD5,0X23,
0XFE,0X42,0XFE,0XE4,0XFF,0X27,0XFF,0X07,0XFE,0XA4,0XFE,0X64,0XFE,0X03,0XFD,0XA3,
0XFC,0XE2,0XEC,0X42,0XB3,0X83,0X62,0X24,0X10,0XE5,0X08,0XC4,0X19,0X04,0X19,0X26,
0X19,0XA8,0X21,0X87,0X90,0X00,0XBC,0XD3,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XDF,0XFF,0XFF,0X7C,0X10,0X00,0X42,0X19,0X05,0X11,0X05,0X28,0X83,0XD0,0X01,
0XF8,0X44,0X48,0XA3,0X00,0XE4,0X08,0XC5,0X5A,0X44,0XED,0X02,0XFD,0XE2,0XFE,0X02,
0XFE,0X66,0XFF,0X74,0XFF,0XB8,0XFF,0X73,0XF6,0XE7,0XF6,0XA6,0XF6,0X45,0XF5,0XA4,
0XFC,0XC3,0XFC,0X62,0XFC,0XC2,0XFC,0XC2,0XCB,0XE3,0X49,0XC4,0X11,0X06,0X19,0X88,
0X01,0X87,0X90,0XA4,0XF8,0X01,0X9A,0XEC,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XF7,0XBE,0X31,0XE8,0X00,0X83,0X09,0X05,0X40,0X82,0XC0,0X01,
0XF8,0X23,0XF0,0X85,0X48,0XA3,0X00,0XA4,0X5A,0X44,0XFD,0X02,0XCC,0X23,0XDC,0XC2,
0XFE,0X04,0XFE,0X28,0XF6,0X48,0XF6,0X46,0XF6,0X24,0XF5,0XE4,0XFD,0X64,0XFC,0XE3,
0XFC,0X62,0XFC,0XC2,0XE4,0X02,0XDC,0X02,0XFC,0XE2,0X7A,0XA4,0X01,0X48,0X01,0X67,
0X78,0XC4,0XF8,0X24,0XF8,0X02,0XB0,0X84,0XE7,0X7D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDE,0XDB,0X19,0X25,0X00,0XA3,0X38,0XC4,0XE0,0X02,
0XD8,0X22,0XF8,0X44,0XF8,0XA6,0X78,0XA4,0X00,0X63,0X21,0X43,0X72,0X83,0X39,0X83,
0X9B,0X82,0XF5,0X21,0XFD,0X61,0XFD,0X22,0XFC,0XE2,0XFC,0XA2,0XFC,0X42,0XFC,0X42,
0XFC,0X42,0XAB,0X22,0X41,0X83,0X92,0XC3,0X52,0X04,0X01,0X26,0X19,0X25,0X98,0XA4,
0XF8,0X44,0XF8,0X23,0XF8,0X02,0XD0,0XA4,0XEF,0X9E,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XD6,0X9A,0X29,0X87,0X00,0XA5,0XB8,0X43,
0XF8,0X22,0XE0,0X23,0XF8,0X65,0XF8,0XE8,0XC9,0X07,0X48,0X83,0X00,0X42,0X00,0XA3,
0X00,0X84,0X29,0X63,0X7A,0XA2,0XB3,0X62,0XCB,0XA2,0XD3,0X62,0XBB,0X02,0X8A,0X82,
0X39,0X83,0X00,0XA4,0X00,0XE5,0X00,0XE5,0X08,0XE5,0X60,0XC4,0XD8,0X64,0XF8,0X44,
0XF8,0X24,0XF8,0X23,0XF8,0X02,0X88,0X83,0XC6,0XDB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0X3D,0X5B,0X50,0X31,0X08,
0XE8,0X23,0XF8,0X43,0XF0,0X44,0XF8,0X65,0XF9,0X09,0XF9,0XAB,0XD1,0X89,0X89,0X06,
0X48,0XA3,0X18,0X42,0X00,0X02,0X00,0X42,0X00,0X61,0X00,0X82,0X00,0X62,0X00,0X62,
0X00,0X83,0X20,0XA3,0X50,0XC4,0X88,0XA5,0XD8,0X85,0XF8,0X65,0XF8,0X44,0XF8,0X44,
0XF8,0X23,0XF8,0X23,0XD0,0X03,0X10,0X82,0X29,0XC7,0XEF,0X5D,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X32,0X6C,
0X38,0XA5,0XD8,0X02,0XF8,0X23,0XF8,0X65,0XF8,0X66,0XF8,0XA7,0XF9,0X4A,0XFA,0X0C,
0XFA,0X4D,0XEA,0X4C,0XD2,0X0B,0XB9,0XA9,0XB1,0X68,0XA9,0X47,0XB1,0X27,0XB9,0X07,
0XD1,0X07,0XE8,0XE7,0XF8,0XC7,0XF8,0XA7,0XF8,0X65,0XF8,0X65,0XF8,0X44,0XF8,0X23,
0XF8,0X03,0XD0,0X02,0X28,0XA3,0X09,0X05,0X08,0XC4,0X5A,0XEC,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDE,0XFB,0X19,0X05,
0X00,0XC4,0X41,0XA7,0XC0,0XE6,0XF8,0X03,0XF8,0X86,0XF8,0XA7,0XF8,0X87,0XF8,0X86,
0XF8,0XC7,0XF9,0X29,0XF9,0X8A,0XF9,0XAB,0XF9,0XAB,0XF9,0X8B,0XF9,0X6A,0XF9,0X29,
0XF9,0X08,0XF8,0XC7,0XF8,0XA6,0XF8,0X86,0XF8,0X65,0XF8,0X64,0XF8,0X23,0XF0,0X02,
0XB1,0X06,0X29,0X25,0X00,0XE4,0X10,0XE4,0X19,0X25,0X19,0X25,0X9D,0X14,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XAD,0X96,0X00,0X62,
0X08,0X82,0X95,0X35,0XCE,0XBA,0XA2,0X8B,0XD0,0X44,0XF8,0X25,0XF8,0X87,0XF8,0XA7,
0XF8,0XC7,0XF8,0XA7,0XF8,0X87,0XF8,0X86,0XF8,0X86,0XF8,0X86,0XF8,0X87,0XF8,0XA7,
0XF8,0XA7,0XF8,0XA6,0XF8,0X85,0XF8,0X65,0XF8,0X64,0XF0,0X24,0XB8,0X64,0X93,0X0D,
0XB6,0XBB,0X63,0XCF,0X08,0X83,0X11,0X04,0X10,0XE4,0X21,0X66,0X3A,0X49,0XEF,0X5D,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X94,0XD3,0X00,0X42,
0X10,0XE4,0XCE,0XBB,0XFF,0XFF,0XE7,0XBE,0XB5,0X76,0XAA,0XCC,0XC1,0X07,0XE0,0X45,
0XF8,0X45,0XF8,0X46,0XF8,0X66,0XF8,0X86,0XF8,0X86,0XF8,0X86,0XF8,0X86,0XF8,0X65,
0XF8,0X45,0XF8,0X65,0XE8,0X65,0XD0,0X44,0XA8,0X43,0X88,0X01,0X90,0X82,0XD7,0X3C,
0XEF,0XFF,0X95,0X55,0X08,0X83,0X11,0X04,0X11,0X04,0X19,0X05,0X19,0X46,0X94,0XB3,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X94,0XB3,0X00,0X41,
0X21,0X86,0XDF,0X5D,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE7,0XDF,0XC6,0X7A,0XB4,0XD3,
0XB3,0X4E,0XC2,0X2A,0XD1,0X68,0XE0,0XE6,0XE8,0XA6,0XE8,0XA5,0XE8,0XA5,0XD8,0XE6,
0XC9,0X88,0XA9,0X06,0XA8,0X22,0XA8,0X02,0XA0,0X00,0XC8,0X00,0XD8,0X00,0XE5,0XF7,
0XE7,0XFF,0XAD,0XF8,0X10,0XC4,0X10,0XE4,0X11,0X04,0X10,0XE4,0X11,0X05,0X4A,0X8B,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XA5,0X55,0X00,0X41,
0X29,0XA7,0XDF,0X5D,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XEF,0XFF,0XDF,0X7D,0XCE,0XDB,0XCE,0X59,0XCD,0XF8,0XCD,0XD7,0XC5,0XF7,0XCE,0X79,
0XBE,0XFB,0XA2,0XAB,0XF0,0X03,0XF8,0X45,0XD0,0X42,0XE8,0X43,0XF0,0X00,0XD4,0X72,
0XDF,0XFF,0XAE,0X39,0X10,0XE4,0X10,0XE4,0X11,0X04,0X10,0XE4,0X11,0X05,0X29,0X87,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XCE,0X59,0X08,0X83,
0X21,0X46,0XD7,0X1C,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XEF,0XFF,0XBA,0X8B,0XF8,0X04,0XF8,0X45,0XE0,0X62,0XF0,0X44,0XF8,0X00,0XDB,0X8E,
0XDF,0XFF,0XA5,0XF8,0X10,0XC4,0X10,0XE4,0X10,0XE4,0X11,0X04,0X10,0XE4,0X19,0X25,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0XBE,0X29,0X87,
0X08,0X83,0XB6,0X39,0XF7,0XFF,0XF7,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XE7,0XBE,0XBA,0X4A,0XF8,0X03,0XF8,0X45,0XF8,0X64,0XF8,0X44,0XF8,0X00,0XE3,0X6E,
0XD7,0XFF,0X8C,0XF4,0X08,0X83,0X11,0X04,0X10,0XE4,0X10,0XE4,0X10,0XE4,0X19,0X05,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X73,0XEF,
0X00,0X00,0X84,0X72,0XEF,0XFF,0XEF,0XBE,0XFF,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XE7,0XDF,0XBA,0X8B,0XF8,0X03,0XF8,0X45,0XF8,0X45,0XF8,0X23,0XF8,0X00,0XD4,0XD3,
0XD7,0XFF,0X5B,0X4E,0X00,0X21,0X3A,0X29,0XA5,0X55,0X08,0X83,0X10,0XC4,0X19,0X25,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDE,0XFB,
0X08,0XA3,0X31,0XE8,0XDF,0X9E,0XE7,0X9E,0XEF,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XF7,0XFF,0XBC,0X51,0XE0,0X02,0XF8,0X03,0XF0,0X03,0XE0,0X43,0XC2,0XEC,0XCF,0X7E,
0XBE,0XFC,0X21,0X46,0X00,0X21,0X94,0XD3,0XFF,0XFF,0X84,0X51,0X00,0X00,0X29,0X87,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0X84,0X51,0X00,0X00,0X8C,0XF4,0XEF,0XFF,0XE7,0X9E,0XEF,0XBF,0XFF,0XDF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XDF,0X3D,0XBD,0X55,0XBC,0X52,0XBC,0X72,0XB5,0XB7,0XC7,0X5D,0XDF,0XFF,
0X6B,0XF0,0X00,0X00,0X3A,0X09,0XF7,0XBF,0XFF,0XFF,0XFF,0XFF,0X9D,0X14,0XA5,0X55,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0X4A,0XAC,0X08,0XA4,0XBE,0XBB,0XE7,0XDF,0XE7,0X7E,0XEF,0XBE,0XF7,0XDF,
0XFF,0XDF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XDF,0XF7,0XDF,0XEF,0XFF,0XDF,0XDF,0XD7,0XBF,0XD7,0X9E,0XDF,0XDF,0XA5,0XD8,
0X08,0X83,0X11,0X26,0XD6,0XDB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XEE,0X79,0XDC,0X8B,0X31,0X21,0X21,0XA9,0XCF,0X3D,0XDF,0XBF,0XDF,0X7E,0XE7,0X9E,
0XEF,0XBE,0XEF,0XBF,0XF7,0XDF,0XF7,0XDF,0XF7,0XDF,0XF7,0XDF,0XF7,0XDF,0XEF,0XBF,
0XEF,0XBE,0XE7,0X9E,0XDF,0X7E,0XD7,0X5E,0XD7,0X5E,0XDF,0XDF,0XB6,0X9A,0X19,0X26,
0X08,0X42,0XA3,0XED,0XFF,0XBF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDD,0X74,
0XDB,0XC0,0XFE,0X00,0XEE,0X42,0X42,0X02,0X21,0X89,0XB6,0X7B,0XDF,0XDF,0XD7,0X7E,
0XDF,0X7E,0XDF,0X7E,0XE7,0X9E,0XE7,0X9E,0XE7,0X9E,0XE7,0X9E,0XE7,0X9E,0XDF,0X7E,
0XDF,0X7E,0XD7,0X5D,0XD7,0X5D,0XDF,0X9E,0XE7,0XFF,0XA5,0XF8,0X11,0X07,0X18,0XE3,
0XC5,0X02,0XFD,0X60,0XD3,0XE6,0XEE,0XDB,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0X9E,0XBA,0X84,
0XFC,0XC1,0XFE,0X42,0XFE,0X82,0XFE,0XA2,0X83,0X81,0X21,0X45,0X74,0X74,0XC7,0X5E,
0XDF,0XDF,0XD7,0X7E,0XD7,0X5E,0XD7,0X5D,0XD7,0X5E,0XD7,0X5E,0XD7,0X5D,0XD7,0X5D,
0XD7,0X5E,0XDF,0X9E,0XE7,0XFF,0XC7,0X3D,0X63,0XF1,0X08,0X84,0X52,0X42,0XE6,0X26,
0XFF,0X29,0XFE,0X86,0XF3,0XE0,0XC3,0X6A,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XDE,0X18,0XD2,0XC1,
0XFD,0XA2,0XFE,0X22,0XFE,0X42,0XFE,0X42,0XFE,0X62,0XD4,0XE2,0X6A,0X41,0X42,0X49,
0X74,0X53,0XA6,0X3B,0XC7,0X3E,0XD7,0XBF,0XD7,0XBF,0XD7,0XBF,0XDF,0XBF,0XD7,0XBF,
0XC7,0X3E,0XA6,0X1A,0X63,0XF2,0X29,0XA7,0X41,0X82,0XB4,0X22,0XFE,0X62,0XFE,0X83,
0XFE,0XAA,0XFF,0X0F,0XFD,0X67,0XBA,0X63,0XEF,0X3C,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE6,0X9A,0XD2,0X80,
0XFD,0X21,0XFD,0XC2,0XF5,0XE2,0XF5,0XC2,0XF5,0X82,0XFD,0X82,0XFD,0X62,0XDC,0X61,
0X9B,0X21,0X6A,0X84,0X6A,0XE9,0X63,0X2C,0X63,0XAF,0X74,0X11,0X63,0X6E,0X63,0X2C,
0X5A,0X89,0X52,0X04,0X7A,0X81,0XCB,0XC2,0XFC,0XE2,0XFD,0X62,0XFD,0X82,0XFD,0XC2,
0XFD,0XC2,0XFD,0XE4,0XFD,0X24,0XCA,0X62,0XE7,0X1C,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XCC,0XB1,
0XD2,0X81,0XF3,0XC0,0XFC,0XC1,0XFD,0X02,0XFD,0X02,0XFC,0XE2,0XFC,0XC2,0XFC,0XC2,
0XFC,0X81,0XFB,0X80,0XC9,0XC0,0X81,0XA4,0XAD,0X35,0XCE,0X59,0X9C,0X71,0X81,0X21,
0XDA,0X00,0XFB,0XA1,0XFC,0X82,0XFC,0XA2,0XFC,0X82,0XFC,0XA2,0XFD,0X02,0XFD,0X22,
0XFC,0XE2,0XFC,0X00,0XDA,0X60,0XCC,0X90,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XDE,0X59,0XC4,0X0D,0XCB,0X06,0XD2,0XE4,0XDB,0X03,0XDB,0X03,0XDA,0XE3,0XD2,0XC3,
0XC2,0XA4,0XB3,0X09,0XBC,0XD2,0XF7,0X9E,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XE6,0XFB,
0XB4,0X0E,0XBA,0XA6,0XD2,0X83,0XE2,0XE3,0XEB,0X02,0XEB,0X22,0XE3,0X22,0XDB,0X03,
0XD2,0XE4,0XC3,0X6A,0XD5,0XB6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
};
const unsigned char image[]={ /* 0X00,0X10,0X28,0X00,0X28,0X00,0X01,0X1B,*/
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XF7,0X7D,0XEF,
0XBA,0XD6,0XB6,0XB5,0XF3,0X9C,0XB2,0X94,0XB3,0X9C,0XB2,0X94,0X34,0XA5,0XF7,0XBD,
0XFB,0XDE,0X7D,0XEF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XF7,0XFB,0XDE,0XF3,0X9C,0XCB,0X5A,
0XC7,0X39,0X04,0X21,0X82,0X10,0X42,0X10,0X42,0X10,0X41,0X08,0X83,0X18,0X45,0X29,
0XC7,0X39,0X0C,0X63,0X75,0XAD,0X3C,0XE7,0XBE,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X3C,0XE7,0XB2,0X94,0X08,0X42,0XC3,0X18,0X82,0X10,
0X04,0X21,0X45,0X29,0X86,0X31,0X86,0X31,0X86,0X31,0X86,0X31,0X45,0X29,0X04,0X21,
0X82,0X10,0X41,0X08,0XC3,0X18,0X08,0X42,0XF3,0X9C,0X3C,0XE7,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFB,0XDE,0X0C,0X63,0XC3,0X18,0XC3,0X18,0X45,0X29,0XC7,0X39,
0X08,0X42,0X08,0X42,0X08,0X42,0X08,0X42,0X08,0X42,0X08,0X42,0XC7,0X39,0XC7,0X39,
0X86,0X31,0X86,0X31,0X04,0X21,0X41,0X08,0X82,0X10,0XCB,0X5A,0XBA,0XD6,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFB,0XDE,0XCB,0X5A,0X82,0X10,0X45,0X29,0XC7,0X39,0X08,0X42,0X08,0X42,
0X09,0X4A,0X49,0X4A,0X49,0X4A,0X49,0X4A,0X49,0X4A,0X49,0X4A,0X08,0X42,0XC7,0X39,
0XC7,0X39,0XC7,0X39,0X86,0X31,0X45,0X29,0X83,0X18,0X00,0X00,0XC8,0X41,0X38,0XC6,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0X7D,0XEF,0X8E,0X73,0X82,0X10,0X45,0X29,0XC7,0X39,0X08,0X42,0X09,0X4A,0X8A,0X52,
0X30,0X84,0XCF,0X7B,0X8A,0X52,0X49,0X4A,0X4A,0X52,0X49,0X4A,0XCB,0X5A,0XCF,0X7B,
0X0C,0X63,0X08,0X42,0XC7,0X39,0X86,0X31,0X45,0X29,0XC3,0X18,0X00,0X00,0X49,0X4A,
0XBA,0XD6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XF3,0X9C,0XC3,0X18,0X04,0X21,0XC7,0X39,0X08,0X42,0X49,0X4A,0X49,0X4A,0X72,0X94,
0X7D,0XEF,0X7D,0XEF,0XB2,0X94,0X4A,0X52,0X49,0X4A,0X8A,0X52,0X75,0XAD,0XBE,0XF7,
0XBA,0XD6,0X4D,0X6B,0XC7,0X39,0XC7,0X39,0X86,0X31,0X45,0X29,0XC3,0X18,0X41,0X08,
0XCF,0X7B,0X7C,0XE7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBA,0XD6,
0X08,0X42,0X82,0X10,0XC7,0X39,0X08,0X42,0X49,0X4A,0X49,0X4A,0X8E,0X73,0XFB,0XDE,
0XFF,0XFF,0XBE,0XF7,0XBA,0XD6,0X8E,0X73,0X08,0X42,0X30,0X84,0X3C,0XE7,0X7D,0XEF,
0XFF,0XFF,0XB6,0XB5,0X49,0X4A,0XC7,0X39,0X86,0X31,0X45,0X29,0X04,0X21,0X41,0X08,
0X45,0X29,0XB6,0XB5,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XF7,0X71,0X8C,
0X41,0X08,0X45,0X29,0X08,0X42,0X49,0X4A,0X49,0X4A,0X4A,0X52,0XB2,0X94,0XBE,0XF7,
0XBE,0XF7,0XB2,0X94,0XCF,0X7B,0XCF,0X7B,0X49,0X4A,0XB6,0XB5,0XF3,0X9C,0X0C,0X63,
0X38,0XC6,0XBA,0XD6,0X0C,0X63,0X87,0X39,0XC7,0X39,0X86,0X31,0X45,0X29,0XC3,0X18,
0X41,0X08,0X30,0X84,0X7D,0XEF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X3C,0XE7,0XCB,0X5A,
0X41,0X08,0XC7,0X39,0X08,0X42,0X49,0X4A,0X4A,0X52,0X8A,0X52,0XF3,0X9C,0XFF,0XFF,
0X7D,0XEF,0XC7,0X39,0XC3,0X18,0X0C,0X63,0XCB,0X5A,0XB6,0XB5,0XB2,0X94,0XCB,0X5A,
0X75,0XAD,0XFA,0XD6,0X4D,0X6B,0X87,0X39,0XC7,0X39,0X86,0X31,0X45,0X29,0X04,0X21,
0X41,0X08,0X8A,0X52,0X79,0XCE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X38,0XC6,0X86,0X31,
0X04,0X21,0XC8,0X41,0X49,0X4A,0X49,0X4A,0X4A,0X52,0X49,0X4A,0XB1,0X8C,0XBE,0XF7,
0XBE,0XF7,0XB2,0X94,0XCF,0X7B,0XCF,0X7B,0X49,0X4A,0X74,0XA5,0X7D,0XEF,0X7C,0XE7,
0XBE,0XF7,0X79,0XCE,0X0C,0X63,0XC7,0X39,0XC7,0X39,0X86,0X31,0X45,0X29,0X04,0X21,
0X82,0X10,0X45,0X29,0X75,0XAD,0XBE,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X34,0XA5,0X82,0X10,
0X86,0X31,0X08,0X42,0X49,0X4A,0X49,0X4A,0X8A,0X52,0X49,0X4A,0X4D,0X6B,0XBA,0XD6,
0XFF,0XFF,0XFF,0XFF,0X79,0XCE,0X0D,0X63,0XC7,0X39,0XCF,0X7B,0X7D,0XEF,0XFF,0XFF,
0XFF,0XFF,0X75,0XAD,0X08,0X42,0X86,0X31,0XC7,0X39,0X86,0X31,0X45,0X29,0X45,0X29,
0XC3,0X18,0XC3,0X18,0XB2,0X94,0X7D,0XEF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XF7,0XB2,0X8C,0X41,0X08,
0XC7,0X39,0X08,0X42,0X49,0X4A,0X49,0X4A,0X8A,0X52,0X8A,0X52,0X4A,0X4A,0XD0,0X7B,
0X7A,0XC6,0X7B,0XBE,0X90,0X6B,0XC9,0X39,0X88,0X31,0XC9,0X39,0XB3,0X84,0XBB,0XC6,
0XF8,0XB5,0XCC,0X5A,0X86,0X31,0XC7,0X39,0XC7,0X39,0X86,0X31,0X45,0X29,0X45,0X29,
0XC4,0X20,0X41,0X08,0X30,0X84,0X3C,0XE7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X3C,0XE7,0X8A,0X4A,0XC3,0X10,
0XC7,0X39,0X08,0X42,0X49,0X4A,0X49,0X4A,0X4A,0X4A,0X4A,0X42,0X09,0X3A,0X08,0X4A,
0X09,0X6B,0X49,0X7B,0XC6,0X7A,0X05,0X83,0X46,0X83,0XC5,0X7A,0XC6,0X72,0X09,0X7B,
0X48,0X5A,0X87,0X31,0X88,0X21,0X88,0X29,0X86,0X31,0X86,0X31,0X45,0X29,0X45,0X29,
0X04,0X21,0X41,0X08,0X4A,0X4A,0XBA,0XD6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF7,0XC5,0X82,0X50,0X05,0X41,
0XC7,0X29,0X08,0X42,0X49,0X4A,0X4A,0X42,0X49,0X4A,0X09,0X7B,0X88,0X9B,0XC6,0XB3,
0X21,0XD4,0XA0,0XDC,0XE1,0XE4,0X61,0XED,0X61,0XED,0X21,0XED,0XA0,0XE4,0X20,0XDC,
0X80,0XCB,0X43,0XAB,0XC4,0X82,0X06,0X5A,0X47,0X21,0X46,0X29,0X45,0X29,0X04,0X29,
0X04,0X19,0X82,0X10,0X82,0X18,0XF3,0X9C,0X7D,0XEF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7D,0XEF,0X4D,0X93,0X00,0XA0,0X82,0XB8,
0XC7,0X31,0X09,0X32,0X49,0X4A,0X86,0X7A,0X43,0XC3,0X6B,0XED,0XF4,0XF6,0XEB,0XFD,
0X20,0XFD,0X20,0XFD,0X60,0XFD,0XA0,0XFD,0XA0,0XFD,0X60,0XFD,0X60,0XFD,0X20,0XFD,
0XE0,0XFC,0XA0,0XFC,0X60,0XF4,0XC1,0XDB,0X83,0X9A,0XC5,0X49,0X45,0X29,0X04,0X19,
0XC4,0X20,0X82,0X38,0X00,0X50,0XCB,0X6A,0XBA,0XD6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,0XEE,0X04,0XA1,0X00,0XC0,0X00,0XF0,
0XC3,0XA0,0XC8,0X41,0X49,0X42,0X05,0X9B,0X20,0XFC,0XA4,0XFC,0X69,0XFD,0XE8,0XFD,
0X63,0XFD,0X20,0XFD,0X60,0XFD,0X60,0XFD,0X60,0XFD,0X20,0XFD,0X20,0XFD,0XE0,0XFC,
0XE0,0XFC,0XA0,0XFC,0X60,0XFC,0X20,0XFC,0X41,0XD3,0XC5,0X49,0X45,0X19,0XC4,0X38,
0X82,0X68,0X41,0X88,0X00,0X70,0X49,0X5A,0X79,0XCE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFB,0XF6,0X82,0XC0,0X00,0XD0,0X86,0XC1,
0X46,0XF1,0X41,0XC8,0X45,0X79,0X89,0X52,0X88,0X62,0X86,0X6A,0XC6,0X7A,0XC4,0XBB,
0XE1,0XFC,0X60,0XFD,0X60,0XFD,0XA0,0XFD,0XA0,0XFD,0X60,0XFD,0X60,0XFD,0XE0,0XFC,
0X60,0XE4,0X03,0X93,0X84,0X72,0X44,0X6A,0XC5,0X41,0X45,0X29,0XC3,0X58,0X41,0XA8,
0X40,0X98,0X00,0XB0,0X00,0X60,0X0C,0X6B,0X79,0XCE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7D,0XEF,0XCE,0X83,0X82,0X88,0X00,0XF8,0XC4,0XD8,
0X0C,0XF3,0X8A,0XFA,0X82,0XE8,0X82,0XB0,0X45,0X69,0XC7,0X51,0X08,0X42,0X08,0X3A,
0X86,0X5A,0X83,0X9B,0XA2,0XBC,0X22,0XCD,0X21,0XCD,0XA1,0XC4,0X22,0XB4,0XC4,0X7A,
0X06,0X3A,0X86,0X29,0X45,0X29,0X05,0X31,0XC4,0X50,0X41,0X90,0X00,0XC0,0X00,0XA8,
0X00,0XA0,0X00,0XA8,0X00,0X30,0X4A,0X4A,0XBA,0XD6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0X7D,0XEF,0X8E,0X73,0XC3,0X18,0X05,0X39,0X82,0XA8,0X00,0XF8,
0XC3,0XF8,0X4D,0XFB,0X4D,0XFB,0XC7,0XF9,0XC3,0XF0,0X82,0XD8,0XC3,0XB0,0X04,0X81,
0X45,0X61,0X46,0X51,0X86,0X49,0X86,0X49,0X46,0X41,0X45,0X41,0X45,0X41,0X45,0X41,
0X05,0X49,0X04,0X61,0X82,0X90,0X41,0XB0,0X00,0XD0,0X00,0XC8,0X00,0XA8,0X00,0XA8,
0X00,0XB8,0X41,0X58,0X82,0X10,0X82,0X10,0XB2,0X94,0XBE,0XF7,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XBE,0XF7,0XCF,0X7B,0X82,0X10,0X04,0X21,0X86,0X29,0X86,0X41,0X04,0X99,
0X40,0XE8,0X41,0XF8,0X86,0XF9,0XCB,0XFA,0X49,0XFA,0X82,0XF8,0X00,0XF8,0X00,0XF0,
0X00,0XE8,0X41,0XD8,0X41,0XD0,0X41,0XC0,0X41,0XC0,0X41,0XC0,0X41,0XC0,0X41,0XC8,
0X00,0XD0,0X00,0XE0,0X00,0XE0,0X00,0XD8,0X00,0XD0,0X00,0XB8,0X00,0XA8,0X41,0X88,
0X82,0X48,0X82,0X10,0X82,0X10,0X00,0X00,0X45,0X29,0X79,0XCE,0XFF,0XFF,0XFF,0XFF,
0XBE,0XF7,0XF3,0X9C,0X82,0X10,0XC3,0X18,0X45,0X29,0X86,0X31,0XC7,0X31,0X30,0X7C,
0XF3,0XDC,0X86,0XE1,0X00,0XF0,0X00,0XF8,0X41,0XF8,0X41,0XF8,0X00,0XF8,0X00,0XF8,
0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF8,
0X00,0XE8,0X00,0XE0,0X00,0XE0,0X00,0XD8,0X00,0XC8,0X41,0XA0,0X8A,0X9A,0X0C,0X63,
0X04,0X11,0X82,0X10,0X82,0X10,0X41,0X08,0X00,0X00,0X4D,0X6B,0X7D,0XEF,0XFF,0XFF,
0XFB,0XDE,0X08,0X42,0X42,0X10,0X45,0X29,0X86,0X31,0X86,0X31,0X49,0X4A,0X38,0XBE,
0XFF,0XFF,0X38,0XD6,0X86,0XA9,0X00,0XC8,0X00,0XE0,0X00,0XF0,0X00,0XF8,0X00,0XF8,
0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF8,0X00,0XF0,0X00,0XF0,
0X00,0XE8,0X00,0XE0,0X00,0XD0,0XC3,0X98,0X8A,0X8A,0XB2,0XA4,0XBA,0XC6,0XF7,0XB5,
0X08,0X42,0X41,0X08,0X82,0X10,0X41,0X08,0X00,0X00,0X45,0X29,0XF7,0XBD,0XFF,0XFF,
0X71,0X8C,0X41,0X08,0X04,0X21,0X45,0X29,0X86,0X31,0X86,0X31,0X0C,0X63,0X3C,0XE7,
0XFF,0XFF,0X79,0XD6,0X46,0XB9,0X00,0XE0,0X42,0XC8,0X82,0XA8,0X82,0XB0,0X41,0XD8,
0X82,0XE8,0X82,0XF0,0X41,0XE8,0X41,0XE8,0X41,0XE8,0X41,0XF0,0X41,0XE8,0X41,0XD8,
0X04,0XC1,0X08,0X92,0X4D,0X8B,0X34,0XA5,0XFB,0XC6,0XFB,0XD6,0XBA,0XCE,0X3C,0XE7,
0X30,0X84,0XC3,0X18,0X41,0X08,0X41,0X08,0X00,0X00,0X41,0X08,0XCF,0X7B,0X7D,0XEF,
0X49,0X4A,0X00,0X00,0X04,0X21,0X45,0X29,0X46,0X31,0X86,0X31,0X30,0X84,0XFF,0XFF,
0XFF,0XF7,0XF7,0XDD,0X09,0XDA,0X83,0XF8,0X01,0XF0,0X42,0XC0,0X82,0X98,0X49,0X9A,
0XF3,0XB4,0XF3,0XCC,0X71,0XBC,0X8E,0XBB,0X8E,0XBB,0X30,0XBC,0X71,0XBC,0XF3,0XBC,
0XB6,0XBD,0XFB,0XCE,0XBE,0XE7,0X7D,0XE7,0X3B,0XDF,0XBA,0XD6,0X79,0XCE,0XFB,0XDE,
0X75,0XAD,0X86,0X31,0X41,0X08,0X41,0X08,0X00,0X00,0X00,0X00,0X49,0X4A,0XFB,0XDE,
0X04,0X21,0X41,0X08,0X04,0X21,0X45,0X29,0X45,0X29,0X87,0X39,0XB2,0X94,0XFF,0XFF,
0XBE,0XF7,0X34,0XDD,0X0C,0XEB,0X09,0XFA,0X00,0XF0,0X01,0XD8,0X00,0XD8,0X8B,0XD2,
0X7D,0XE7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XBE,0XFF,0X7D,0XEF,0XFB,0XDE,0XFB,0XDE,0XBA,0XD6,0X79,0XCE,0XBA,0XD6,
0X78,0XC6,0XC7,0X39,0X00,0X00,0X41,0X08,0X00,0X00,0X00,0X00,0XC7,0X39,0X79,0XCE,
0X00,0X00,0X82,0X10,0XC3,0X18,0X04,0X21,0X05,0X29,0X86,0X31,0XB3,0X9C,0XFF,0XFF,
0XFF,0XF7,0X75,0XDD,0XC7,0XE9,0XC7,0XF9,0X01,0XF8,0X01,0XF0,0X00,0XE8,0X49,0XE2,
0XFB,0XEE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XBE,0XF7,0X7D,0XEF,0XFB,0XDE,0XFB,0XDE,0XBA,0XD6,0X79,0XCE,0XBA,0XD6,
0XB9,0XCE,0X08,0X42,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XC7,0X39,0X38,0XC6,
0X00,0X00,0X82,0X10,0X82,0X10,0X04,0X21,0X04,0X21,0X45,0X29,0X30,0X84,0XFF,0XFF,
0XFF,0XFF,0X38,0XDE,0XC4,0XD0,0X00,0XF0,0X01,0XF8,0X00,0XF8,0X00,0XF0,0X08,0XD2,
0XFB,0XE6,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XBE,0XF7,0X7D,0XEF,0XFB,0XDE,0XBA,0XD6,0X79,0XCE,0X79,0XCE,0XBA,0XD6,
0X79,0XCE,0XC7,0X39,0X41,0X08,0X00,0X00,0X00,0X00,0X00,0X00,0X86,0X31,0X38,0XC6,
0X00,0X00,0X00,0X00,0XC3,0X18,0XCB,0X5A,0X86,0X31,0XC3,0X18,0XCB,0X5A,0X7D,0XEF,
0XFF,0XFF,0X7D,0XEF,0XCF,0XBB,0XC3,0XB0,0X41,0XD0,0X41,0XD0,0X82,0XB8,0X4D,0XB3,
0X7D,0XE7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XBE,0XF7,0XBE,0XF7,0X3D,0XEF,0XFB,0XDE,0XBA,0XD6,0X79,0XCE,0X79,0XCE,0XFA,0XD6,
0XF7,0XBD,0X04,0X21,0X86,0X31,0X04,0X21,0X00,0X00,0X00,0X00,0X86,0X31,0X38,0XC6,
0X86,0X31,0XC3,0X18,0XCB,0X5A,0X75,0XAD,0XCF,0X7B,0X41,0X08,0X86,0X31,0XF7,0XBD,
0XFF,0XFF,0XFF,0XFF,0XBE,0XEF,0X74,0XB5,0X30,0X9C,0X30,0X9C,0X72,0XA4,0XBB,0XD6,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XBE,0XF7,0X7D,0XEF,0X3C,0XE7,0XFB,0XDE,0XBA,0XD6,0X79,0XCE,0X79,0XCE,0X3C,0XE7,
0X71,0X8C,0X81,0X08,0X0C,0X63,0XCF,0X7B,0X82,0X10,0X00,0X00,0X8A,0X52,0X38,0XC6,
0X75,0XAD,0X71,0X8C,0XB6,0XB5,0X3C,0XE7,0XFB,0XDE,0XC7,0X39,0X00,0X00,0XCF,0X73,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XF7,
0X7D,0XEF,0X7D,0XEF,0X3B,0XDF,0XFA,0XD6,0X79,0XCE,0X79,0XCE,0XFB,0XDE,0XB9,0XCE,
0XC7,0X39,0XC4,0X20,0X71,0X8C,0XBA,0XD6,0X71,0X8C,0XCB,0X5A,0XB2,0X94,0XBA,0XD6,
0XFF,0XFF,0X7D,0XEF,0X7D,0XEF,0XFF,0XFF,0XFF,0XFF,0XB6,0XB5,0X46,0X29,0X05,0X19,
0X75,0XA5,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XF7,
0X7D,0XEF,0X3C,0XE7,0XFB,0XDE,0XBA,0XD6,0X79,0XCE,0XBA,0XD6,0XFC,0XDE,0X4E,0X63,
0X42,0X08,0X0C,0X63,0XF7,0XBD,0XBE,0XF7,0XFF,0XFF,0XFB,0XDE,0XFB,0XDE,0XBE,0XF7,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XF4,0X9C,0X04,0X21,
0X05,0X21,0XB6,0XA5,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XF7,0XBE,0XF7,0X7D,0XEF,
0X3C,0XE7,0XFB,0XDE,0XBA,0XD6,0X79,0XCE,0XFB,0XDE,0XBB,0XD6,0XD1,0X73,0X83,0X18,
0X86,0X39,0X34,0X9D,0XBD,0XEF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XFF,0X35,0XD6,0XEB,0XCC,0X43,0XB3,
0X40,0X51,0X05,0X19,0XF5,0X8C,0XBE,0XEF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBE,0XF7,0XBE,0XF7,0X7D,0XEF,0X7D,0XEF,0X3C,0XE7,
0XFB,0XDE,0XBA,0XDE,0XBA,0XD6,0X3C,0XDF,0X3A,0XBE,0X4F,0X63,0X82,0X49,0X40,0XA3,
0X23,0XB4,0XCC,0X83,0X3A,0XBE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XBF,0XF7,0XB5,0XBD,0X82,0X92,0X20,0XF4,0XA0,0XFC,
0X60,0XE4,0X40,0X82,0X84,0X41,0X8F,0X6B,0X77,0XAD,0X3D,0XE7,0XFF,0XFF,0XFF,0XFF,
0XFE,0XFF,0XBE,0XF7,0XBE,0XF7,0XBE,0XF7,0X7D,0XEF,0X7D,0XEF,0X3C,0XE7,0XFB,0XDE,
0XFB,0XDE,0X3D,0XE7,0XBB,0XCE,0X36,0X9D,0X0B,0X6B,0X41,0X6A,0X60,0XC4,0X20,0XFE,
0X60,0XF5,0X00,0X8B,0XC7,0X6A,0X38,0XC6,0XBE,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7D,0XEF,0X4B,0X7B,0X80,0XB2,0XA0,0XFC,0XA0,0XFC,
0XE0,0XFC,0XE0,0XFC,0XC0,0XCB,0XC1,0X8A,0X45,0X62,0X4D,0X6B,0XB3,0X94,0XF7,0XBD,
0X3D,0XDF,0XFF,0XF7,0XFF,0XFF,0XBE,0XF7,0X7D,0XEF,0X7D,0XEF,0X7D,0XE7,0X3D,0XDF,
0XBA,0XC6,0X75,0XA5,0X8D,0X7B,0X84,0X7A,0X40,0XB3,0XE0,0XEC,0XE0,0XFD,0XE0,0XFD,
0X60,0XF5,0X20,0XE5,0XA0,0XD4,0X0A,0X6B,0XFB,0XDE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7D,0XEF,0XCC,0X93,0X40,0XEB,0X60,0XFC,0XA0,0XFC,
0XE0,0XFC,0X20,0XFD,0X60,0XFD,0X20,0XF5,0XA0,0XD4,0XC0,0XBB,0X42,0X9B,0X45,0X8B,
0X6B,0X9C,0XAE,0X9C,0X71,0X8C,0XB3,0X94,0X33,0X9D,0X34,0XA5,0XF2,0XA4,0XF0,0XB4,
0XCA,0X9B,0X04,0X9B,0X40,0XBB,0X20,0XE4,0X20,0XFD,0XA0,0XFD,0XA0,0XFD,0XE0,0XFD,
0XE0,0XFD,0XE0,0XFD,0X20,0XC4,0X88,0X5A,0X38,0XBE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X78,0XD6,0X46,0XAB,0X40,0XDB,0X20,0XF4,
0X60,0XFC,0XA0,0XFC,0XE0,0XFC,0X60,0XFD,0XA0,0XFD,0X60,0XFD,0X20,0XF5,0XA0,0XDC,
0XC0,0XB3,0XC0,0X51,0X86,0X29,0X0D,0X63,0X8F,0X7B,0X0D,0X5B,0XC7,0X41,0X01,0X82,
0X00,0XC3,0XC0,0XE3,0X60,0XFC,0XA0,0XFC,0XE0,0XFC,0XE0,0XFC,0X60,0XF5,0X60,0XF5,
0X20,0XE5,0X80,0X9B,0X86,0X62,0X30,0X84,0X79,0XCE,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X38,0XC6,0X2D,0X9C,0X05,0X93,
0X43,0XA3,0X82,0XB3,0XC2,0XBB,0XC2,0XBB,0X22,0XB4,0X82,0XA3,0X42,0X93,0XC3,0X7A,
0X85,0X62,0X0B,0X63,0X71,0X84,0XB6,0XB5,0X79,0XCE,0X79,0XC6,0XB5,0XAD,0X70,0X94,
0X4A,0X8B,0X06,0X83,0X04,0X93,0X04,0X9B,0X43,0X9B,0X43,0X9B,0X43,0X93,0X04,0X83,
0X08,0X73,0X8D,0X73,0XB3,0X94,0X79,0XCE,0X7D,0XEF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X3C,0XDF,0X38,0XBE,
0X75,0XB5,0X33,0XA5,0X33,0XA5,0XF3,0X9C,0XF3,0X9C,0XF3,0X9C,0XF3,0X94,0XF3,0X9C,
0X35,0XA5,0XF8,0XBD,0XFB,0XDE,0XBE,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X7E,0XEF,
0XBB,0XD6,0XF8,0XBD,0XB6,0XAD,0X75,0XAD,0X34,0XA5,0X33,0X9D,0X34,0X9D,0X35,0XA5,
0XB7,0XAD,0X79,0XC6,0X3C,0XE7,0XBE,0XF7,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,
};
#endif

View File

@ -1,922 +0,0 @@
#include "tftlcd.h"
#include "delay.h"
#include "lcdfont.h"
//1.3寸LCD 240X240 IPS
//1.8寸TFT 128x160 RGB_TFT
//tftlcd gpio初始化
void TFTLCD_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = TFTLCD_SCL_GPIO_PIN|TFTLCD_SDA_GPIO_PIN|TFTLCD_RST_GPIO_PIN|TFTLCD_DC_GPIO_PIN|TFTLCD_CS_GPIO_PIN|TFTLCD_BLK_GPIO_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//50MHz
GPIO_Init(TFTLCD_SCL_GPIO_PORT, &GPIO_InitStructure);
GPIO_SetBits(TFTLCD_SCL_GPIO_PORT,TFTLCD_SCL_GPIO_PIN|TFTLCD_SDA_GPIO_PIN|TFTLCD_RST_GPIO_PIN|TFTLCD_DC_GPIO_PIN|TFTLCD_CS_GPIO_PIN|TFTLCD_BLK_GPIO_PIN);
}
void TFTLCD_Writ_Bus(u8 dat)
{
u8 i;
TFTLCD_CS_RESET;
for(i=0;i<8;i++)
{
TFTLCD_SCL_RESET;
if(dat&0x80)
{
TFTLCD_SDA_SET;
}
else
{
TFTLCD_SDA_RESET;
}
TFTLCD_SCL_SET;
dat<<=1;
}
TFTLCD_CS_SET;
}
void TFTLCD_WR_DATA8(u8 dat)
{
TFTLCD_Writ_Bus(dat);
}
void TFTLCD_WR_DATA(u16 dat)
{
TFTLCD_Writ_Bus(dat>>8);
TFTLCD_Writ_Bus(dat);
}
void TFTLCD_WR_REG(u8 dat)
{
TFTLCD_DC_RESET;
TFTLCD_Writ_Bus(dat);
TFTLCD_DC_SET;
}
void TFTLCD_Address_Set(u16 x1,u16 y1,u16 x2,u16 y2)
{
if(USE_HORIZONTAL==0)
{
TFTLCD_WR_REG(0x2a);
TFTLCD_WR_DATA(x1+TFT_COLUMN_OFFSET);
TFTLCD_WR_DATA(x2+TFT_COLUMN_OFFSET);
TFTLCD_WR_REG(0x2b);
TFTLCD_WR_DATA(y1+TFT_LINE_OFFSET);
TFTLCD_WR_DATA(y2+TFT_LINE_OFFSET);
TFTLCD_WR_REG(0x2c);
}
else if(USE_HORIZONTAL==1)
{
TFTLCD_WR_REG(0x2a);
TFTLCD_WR_DATA(x1+TFT_COLUMN_OFFSET);
TFTLCD_WR_DATA(x2+TFT_COLUMN_OFFSET);
TFTLCD_WR_REG(0x2b);
TFTLCD_WR_DATA(y1+TFT_LINE_OFFSET);
TFTLCD_WR_DATA(y2+TFT_LINE_OFFSET);
TFTLCD_WR_REG(0x2c);
}
else if(USE_HORIZONTAL==2)
{
TFTLCD_WR_REG(0x2a);
TFTLCD_WR_DATA(x1+TFT_COLUMN_OFFSET);
TFTLCD_WR_DATA(x2+TFT_COLUMN_OFFSET);
TFTLCD_WR_REG(0x2b);
TFTLCD_WR_DATA(y1+TFT_LINE_OFFSET);
TFTLCD_WR_DATA(y2+TFT_LINE_OFFSET);
TFTLCD_WR_REG(0x2c);
}
else
{
TFTLCD_WR_REG(0x2a);
TFTLCD_WR_DATA(x1);
TFTLCD_WR_DATA(x2);
TFTLCD_WR_REG(0x2b);
TFTLCD_WR_DATA(y1);
TFTLCD_WR_DATA(y2);
TFTLCD_WR_REG(0x2c);
}
}
void TFTLCD_Init(void)
{
TFTLCD_GPIO_Init();
TFTLCD_RST_RESET;
delay_ms(100);
TFTLCD_RST_SET;
delay_ms(100);
TFTLCD_BLK_SET;
delay_ms(100);
if(TFT==18)
{
//************* Start Initial Sequence **********//
TFTLCD_WR_REG(0x11); //Sleep out
delay_ms(120); //Delay 120ms
//------------------------------------ST7735S Frame Rate-----------------------------------------//
TFTLCD_WR_REG(0xB1);
TFTLCD_WR_DATA8(0x05);
TFTLCD_WR_DATA8(0x3C);
TFTLCD_WR_DATA8(0x3C);
TFTLCD_WR_REG(0xB2);
TFTLCD_WR_DATA8(0x05);
TFTLCD_WR_DATA8(0x3C);
TFTLCD_WR_DATA8(0x3C);
TFTLCD_WR_REG(0xB3);
TFTLCD_WR_DATA8(0x05);
TFTLCD_WR_DATA8(0x3C);
TFTLCD_WR_DATA8(0x3C);
TFTLCD_WR_DATA8(0x05);
TFTLCD_WR_DATA8(0x3C);
TFTLCD_WR_DATA8(0x3C);
//------------------------------------End ST7735S Frame Rate---------------------------------//
TFTLCD_WR_REG(0xB4); //Dot inversion
TFTLCD_WR_DATA8(0x03);
//------------------------------------ST7735S Power Sequence---------------------------------//
TFTLCD_WR_REG(0xC0);
TFTLCD_WR_DATA8(0x28);
TFTLCD_WR_DATA8(0x08);
TFTLCD_WR_DATA8(0x04);
TFTLCD_WR_REG(0xC1);
TFTLCD_WR_DATA8(0XC0);
TFTLCD_WR_REG(0xC2);
TFTLCD_WR_DATA8(0x0D);
TFTLCD_WR_DATA8(0x00);
TFTLCD_WR_REG(0xC3);
TFTLCD_WR_DATA8(0x8D);
TFTLCD_WR_DATA8(0x2A);
TFTLCD_WR_REG(0xC4);
TFTLCD_WR_DATA8(0x8D);
TFTLCD_WR_DATA8(0xEE);
//---------------------------------End ST7735S Power Sequence-------------------------------------//
TFTLCD_WR_REG(0xC5); //VCOM
TFTLCD_WR_DATA8(0x1A);
TFTLCD_WR_REG(0x36); //MX, MY, RGB mode
if(USE_HORIZONTAL==0)TFTLCD_WR_DATA8(0x00);
else if(USE_HORIZONTAL==1)TFTLCD_WR_DATA8(0xC0);
else if(USE_HORIZONTAL==2)TFTLCD_WR_DATA8(0x70);
else TFTLCD_WR_DATA8(0xA0);
//------------------------------------ST7735S Gamma Sequence---------------------------------//
TFTLCD_WR_REG(0xE0);
TFTLCD_WR_DATA8(0x04);
TFTLCD_WR_DATA8(0x22);
TFTLCD_WR_DATA8(0x07);
TFTLCD_WR_DATA8(0x0A);
TFTLCD_WR_DATA8(0x2E);
TFTLCD_WR_DATA8(0x30);
TFTLCD_WR_DATA8(0x25);
TFTLCD_WR_DATA8(0x2A);
TFTLCD_WR_DATA8(0x28);
TFTLCD_WR_DATA8(0x26);
TFTLCD_WR_DATA8(0x2E);
TFTLCD_WR_DATA8(0x3A);
TFTLCD_WR_DATA8(0x00);
TFTLCD_WR_DATA8(0x01);
TFTLCD_WR_DATA8(0x03);
TFTLCD_WR_DATA8(0x13);
TFTLCD_WR_REG(0xE1);
TFTLCD_WR_DATA8(0x04);
TFTLCD_WR_DATA8(0x16);
TFTLCD_WR_DATA8(0x06);
TFTLCD_WR_DATA8(0x0D);
TFTLCD_WR_DATA8(0x2D);
TFTLCD_WR_DATA8(0x26);
TFTLCD_WR_DATA8(0x23);
TFTLCD_WR_DATA8(0x27);
TFTLCD_WR_DATA8(0x27);
TFTLCD_WR_DATA8(0x25);
TFTLCD_WR_DATA8(0x2D);
TFTLCD_WR_DATA8(0x3B);
TFTLCD_WR_DATA8(0x00);
TFTLCD_WR_DATA8(0x01);
TFTLCD_WR_DATA8(0x04);
TFTLCD_WR_DATA8(0x13);
//------------------------------------End ST7735S Gamma Sequence-----------------------------//
TFTLCD_WR_REG(0x3A); //65k mode
TFTLCD_WR_DATA8(0x05);
TFTLCD_WR_REG(0x29); //Display on
}
else if(TFT==13)
{
//************* Start Initial Sequence **********//
TFTLCD_WR_REG(0x36);
if(USE_HORIZONTAL==0)TFTLCD_WR_DATA8(0x00);
else if(USE_HORIZONTAL==1)TFTLCD_WR_DATA8(0x60);
else if(USE_HORIZONTAL==2)TFTLCD_WR_DATA8(0xa0);
else TFTLCD_WR_DATA8(0xc0);
TFTLCD_WR_REG(0x3A);
TFTLCD_WR_DATA8(0x05);
TFTLCD_WR_REG(0xB2);
TFTLCD_WR_DATA8(0x0C);
TFTLCD_WR_DATA8(0x0C);
TFTLCD_WR_DATA8(0x00);
TFTLCD_WR_DATA8(0x33);
TFTLCD_WR_DATA8(0x33);
TFTLCD_WR_REG(0xB7);
TFTLCD_WR_DATA8(0x35);
TFTLCD_WR_REG(0xBB);
TFTLCD_WR_DATA8(0x19);
TFTLCD_WR_REG(0xC0);
TFTLCD_WR_DATA8(0x2C);
TFTLCD_WR_REG(0xC2);
TFTLCD_WR_DATA8(0x01);
TFTLCD_WR_REG(0xC3);
TFTLCD_WR_DATA8(0x12);
TFTLCD_WR_REG(0xC4);
TFTLCD_WR_DATA8(0x20);
TFTLCD_WR_REG(0xC6);
TFTLCD_WR_DATA8(0x0F);
TFTLCD_WR_REG(0xD0);
TFTLCD_WR_DATA8(0xA4);
TFTLCD_WR_DATA8(0xA1);
TFTLCD_WR_REG(0xE0);
TFTLCD_WR_DATA8(0xD0);
TFTLCD_WR_DATA8(0x04);
TFTLCD_WR_DATA8(0x0D);
TFTLCD_WR_DATA8(0x11);
TFTLCD_WR_DATA8(0x13);
TFTLCD_WR_DATA8(0x2B);
TFTLCD_WR_DATA8(0x3F);
TFTLCD_WR_DATA8(0x54);
TFTLCD_WR_DATA8(0x4C);
TFTLCD_WR_DATA8(0x18);
TFTLCD_WR_DATA8(0x0D);
TFTLCD_WR_DATA8(0x0B);
TFTLCD_WR_DATA8(0x1F);
TFTLCD_WR_DATA8(0x23);
TFTLCD_WR_REG(0xE1);
TFTLCD_WR_DATA8(0xD0);
TFTLCD_WR_DATA8(0x04);
TFTLCD_WR_DATA8(0x0C);
TFTLCD_WR_DATA8(0x11);
TFTLCD_WR_DATA8(0x13);
TFTLCD_WR_DATA8(0x2C);
TFTLCD_WR_DATA8(0x3F);
TFTLCD_WR_DATA8(0x44);
TFTLCD_WR_DATA8(0x51);
TFTLCD_WR_DATA8(0x2F);
TFTLCD_WR_DATA8(0x1F);
TFTLCD_WR_DATA8(0x1F);
TFTLCD_WR_DATA8(0x20);
TFTLCD_WR_DATA8(0x23);
TFTLCD_WR_REG(0x21);
TFTLCD_WR_REG(0x11);
//Delay (120);
TFTLCD_WR_REG(0x29);
// 设置列地址
TFTLCD_WR_REG(0x2A); // 列地址设置
TFTLCD_WR_DATA8(0x00); // 起始列地址高位
TFTLCD_WR_DATA8(0x00); // 起始列地址低位
TFTLCD_WR_DATA8(0x00); // 结束列地址高位
TFTLCD_WR_DATA8(0xEF); // 结束列地址低位240 列)
// 设置行地址
TFTLCD_WR_REG(0x2B); // 行地址设置
TFTLCD_WR_DATA8(0x00); // 起始行地址高位
TFTLCD_WR_DATA8(0x00); // 起始行地址低位
TFTLCD_WR_DATA8(0x00); // 结束行地址高位
TFTLCD_WR_DATA8(0xC5); // 结束行地址低位198 行)
TFTLCD_WR_REG(0x2C); // 内存写入
}
else if(TFT==145)
{
TFTLCD_WR_REG(0x36);
if(USE_HORIZONTAL==0)TFTLCD_WR_DATA8(0x00);
else if(USE_HORIZONTAL==1)TFTLCD_WR_DATA8(0xc0);
else if(USE_HORIZONTAL==2)TFTLCD_WR_DATA8(0x60);
else TFTLCD_WR_DATA8(0xa0);
TFTLCD_WR_REG(0xFE);
TFTLCD_WR_REG(0xEF);
TFTLCD_WR_REG(0xB0);
TFTLCD_WR_DATA8(0xC0);
TFTLCD_WR_REG(0xB2);
TFTLCD_WR_DATA8(0x2F);
TFTLCD_WR_REG(0xB3);
TFTLCD_WR_DATA8(0x03);
TFTLCD_WR_REG(0xB6);
TFTLCD_WR_DATA8(0x19);
TFTLCD_WR_REG(0xB7);
TFTLCD_WR_DATA8(0x01);
TFTLCD_WR_REG(0xAC);
TFTLCD_WR_DATA8(0xCB);
TFTLCD_WR_REG(0xAB);
TFTLCD_WR_DATA8(0x07);
TFTLCD_WR_REG(0xB4);
TFTLCD_WR_DATA8(0x00);
TFTLCD_WR_REG(0xA8);
TFTLCD_WR_DATA8(0x0C);
TFTLCD_WR_REG(0x3A);
TFTLCD_WR_DATA8(0x05);
TFTLCD_WR_REG(0xb8);
TFTLCD_WR_DATA8(0x08);
TFTLCD_WR_REG(0xE8);
TFTLCD_WR_DATA8(0x23);
TFTLCD_WR_REG(0xE9);
TFTLCD_WR_DATA8(0x47);
TFTLCD_WR_REG(0xea);
TFTLCD_WR_DATA8(0x44);
TFTLCD_WR_REG(0xeb);
TFTLCD_WR_DATA8(0xE0);
TFTLCD_WR_REG(0xED);
TFTLCD_WR_DATA8(0x03);
TFTLCD_WR_REG(0xc6);
TFTLCD_WR_DATA8(0x19);
TFTLCD_WR_REG(0xc7);
TFTLCD_WR_DATA8(0x10);
TFTLCD_WR_REG(0xF0);
TFTLCD_WR_DATA8(0x0b);
TFTLCD_WR_DATA8(0x2f);
TFTLCD_WR_DATA8(0x10);
TFTLCD_WR_DATA8(0x4b);
TFTLCD_WR_DATA8(0x28);
TFTLCD_WR_DATA8(0x3f);
TFTLCD_WR_DATA8(0x3e);
TFTLCD_WR_DATA8(0x60);
TFTLCD_WR_DATA8(0x00);
TFTLCD_WR_DATA8(0x12);
TFTLCD_WR_DATA8(0x12);
TFTLCD_WR_DATA8(0x0f);
TFTLCD_WR_DATA8(0x00);
TFTLCD_WR_DATA8(0x1F);
TFTLCD_WR_REG(0xF1);
TFTLCD_WR_DATA8(0x0e);
TFTLCD_WR_DATA8(0x3d);
TFTLCD_WR_DATA8(0x2a);
TFTLCD_WR_DATA8(0x40);
TFTLCD_WR_DATA8(0xfa);
TFTLCD_WR_DATA8(0x00);
TFTLCD_WR_DATA8(0x02);
TFTLCD_WR_DATA8(0x60);
TFTLCD_WR_DATA8(0x00);
TFTLCD_WR_DATA8(0x03);
TFTLCD_WR_DATA8(0x13);
TFTLCD_WR_DATA8(0x00);
TFTLCD_WR_DATA8(0x10);
TFTLCD_WR_DATA8(0x1F);
delay_ms(120);
TFTLCD_WR_REG(0x11);
delay_ms(120);
TFTLCD_WR_REG(0x29);
delay_ms(120);
}
else if(TFT==154)//ST7789
{
TFTLCD_WR_REG(0x36);
if(USE_HORIZONTAL==0)TFTLCD_WR_DATA8(0x00);
else if(USE_HORIZONTAL==1)TFTLCD_WR_DATA8(0x60);
else if(USE_HORIZONTAL==2)TFTLCD_WR_DATA8(0xa0);
else TFTLCD_WR_DATA8(0xc0);
TFTLCD_WR_REG(0x3A);
TFTLCD_WR_DATA8(0x05);
TFTLCD_WR_REG(0xB2);
TFTLCD_WR_DATA8(0x0C);
TFTLCD_WR_DATA8(0x0C);
TFTLCD_WR_DATA8(0x00);
TFTLCD_WR_DATA8(0x33);
TFTLCD_WR_DATA8(0x33);
TFTLCD_WR_REG(0xB7);
TFTLCD_WR_DATA8(0x35);
TFTLCD_WR_REG(0xBB);
TFTLCD_WR_DATA8(0x19);
TFTLCD_WR_REG(0xC0);
TFTLCD_WR_DATA8(0x2C);
TFTLCD_WR_REG(0xC2);
TFTLCD_WR_DATA8(0x01);
TFTLCD_WR_REG(0xC3);
TFTLCD_WR_DATA8(0x12);
TFTLCD_WR_REG(0xC4);
TFTLCD_WR_DATA8(0x20);
TFTLCD_WR_REG(0xC6);
TFTLCD_WR_DATA8(0x0F);
TFTLCD_WR_REG(0xD0);
TFTLCD_WR_DATA8(0xA4);
TFTLCD_WR_DATA8(0xA1);
TFTLCD_WR_REG(0xE0);
TFTLCD_WR_DATA8(0xD0);
TFTLCD_WR_DATA8(0x04);
TFTLCD_WR_DATA8(0x0D);
TFTLCD_WR_DATA8(0x11);
TFTLCD_WR_DATA8(0x13);
TFTLCD_WR_DATA8(0x2B);
TFTLCD_WR_DATA8(0x3F);
TFTLCD_WR_DATA8(0x54);
TFTLCD_WR_DATA8(0x4C);
TFTLCD_WR_DATA8(0x18);
TFTLCD_WR_DATA8(0x0D);
TFTLCD_WR_DATA8(0x0B);
TFTLCD_WR_DATA8(0x1F);
TFTLCD_WR_DATA8(0x23);
TFTLCD_WR_REG(0xE1);
TFTLCD_WR_DATA8(0xD0);
TFTLCD_WR_DATA8(0x04);
TFTLCD_WR_DATA8(0x0C);
TFTLCD_WR_DATA8(0x11);
TFTLCD_WR_DATA8(0x13);
TFTLCD_WR_DATA8(0x2C);
TFTLCD_WR_DATA8(0x3F);
TFTLCD_WR_DATA8(0x44);
TFTLCD_WR_DATA8(0x51);
TFTLCD_WR_DATA8(0x2F);
TFTLCD_WR_DATA8(0x1F);
TFTLCD_WR_DATA8(0x1F);
TFTLCD_WR_DATA8(0x20);
TFTLCD_WR_DATA8(0x23);
TFTLCD_WR_REG(0x21);
TFTLCD_WR_REG(0x11);
//Delay (120);
TFTLCD_WR_REG(0x29);
// 设置列地址
TFTLCD_WR_REG(0x2A); // 列地址设置
TFTLCD_WR_DATA8(0x00); // 起始列地址高位
TFTLCD_WR_DATA8(0x00); // 起始列地址低位
TFTLCD_WR_DATA8(0x00); // 结束列地址高位
TFTLCD_WR_DATA8(0xEF); // 结束列地址低位240 列)
// 设置行地址
TFTLCD_WR_REG(0x2B); // 行地址设置
TFTLCD_WR_DATA8(0x00); // 起始行地址高位
TFTLCD_WR_DATA8(0x00); // 起始行地址低位
TFTLCD_WR_DATA8(0x00); // 结束行地址高位
TFTLCD_WR_DATA8(0xC5); // 结束行地址低位198 行)
TFTLCD_WR_REG(0x2C); // 内存写入
}
else if(TFT==225)//ST7789
{
// TFTLCD_WR_REG(0x36);
// if(USE_HORIZONTAL==0)TFTLCD_WR_DATA8(0x00);
// else if(USE_HORIZONTAL==1)TFTLCD_WR_DATA8(0xc0);
// else if(USE_HORIZONTAL==2)TFTLCD_WR_DATA8(0x60);
// else TFTLCD_WR_DATA8(0xa0);
TFTLCD_WR_REG(0x11); //Sleep out
delay_ms(120); //Delay 120ms
TFTLCD_WR_REG(0xB1);
TFTLCD_WR_DATA8(0x05);
TFTLCD_WR_DATA8(0x3C);
TFTLCD_WR_DATA8(0x3C);
TFTLCD_WR_REG(0xB2);
TFTLCD_WR_DATA8(0x05);
TFTLCD_WR_DATA8(0x3C);
TFTLCD_WR_DATA8(0x3C);
TFTLCD_WR_REG(0xB3);
TFTLCD_WR_DATA8(0x05);
TFTLCD_WR_DATA8(0x3C);
TFTLCD_WR_DATA8(0x3C);
TFTLCD_WR_DATA8(0x05);
TFTLCD_WR_DATA8(0x3C);
TFTLCD_WR_DATA8(0x3C);
TFTLCD_WR_REG(0xB4); //Dot inversion
TFTLCD_WR_DATA8(0x03);
TFTLCD_WR_REG(0xC0);
TFTLCD_WR_DATA8(0x28);
TFTLCD_WR_DATA8(0x08);
TFTLCD_WR_DATA8(0x04);
TFTLCD_WR_REG(0xC1);
TFTLCD_WR_DATA8(0XC0);
TFTLCD_WR_REG(0xC2);
TFTLCD_WR_DATA8(0x0D);
TFTLCD_WR_DATA8(0x00);
TFTLCD_WR_REG(0xC3);
TFTLCD_WR_DATA8(0x8D);
TFTLCD_WR_DATA8(0x2A);
TFTLCD_WR_REG(0xC4);
TFTLCD_WR_DATA8(0x8D);
TFTLCD_WR_DATA8(0xEE);
TFTLCD_WR_REG(0xC5); //VCOM
TFTLCD_WR_DATA8(0x1A);
TFTLCD_WR_REG(0x36); //MX, MY, RGB mode
if(USE_HORIZONTAL==0)TFTLCD_WR_DATA8(0x00);
else if(USE_HORIZONTAL==1)TFTLCD_WR_DATA8(0xC0);
else if(USE_HORIZONTAL==2)TFTLCD_WR_DATA8(0x70);
else TFTLCD_WR_DATA8(0xA0);
TFTLCD_WR_REG(0xE0);
TFTLCD_WR_DATA8(0x04);
TFTLCD_WR_DATA8(0x22);
TFTLCD_WR_DATA8(0x07);
TFTLCD_WR_DATA8(0x0A);
TFTLCD_WR_DATA8(0x2E);
TFTLCD_WR_DATA8(0x30);
TFTLCD_WR_DATA8(0x25);
TFTLCD_WR_DATA8(0x2A);
TFTLCD_WR_DATA8(0x28);
TFTLCD_WR_DATA8(0x26);
TFTLCD_WR_DATA8(0x2E);
TFTLCD_WR_DATA8(0x3A);
TFTLCD_WR_DATA8(0x00);
TFTLCD_WR_DATA8(0x01);
TFTLCD_WR_DATA8(0x03);
TFTLCD_WR_DATA8(0x13);
TFTLCD_WR_REG(0xE1);
TFTLCD_WR_DATA8(0x04);
TFTLCD_WR_DATA8(0x16);
TFTLCD_WR_DATA8(0x06);
TFTLCD_WR_DATA8(0x0D);
TFTLCD_WR_DATA8(0x2D);
TFTLCD_WR_DATA8(0x26);
TFTLCD_WR_DATA8(0x23);
TFTLCD_WR_DATA8(0x27);
TFTLCD_WR_DATA8(0x27);
TFTLCD_WR_DATA8(0x25);
TFTLCD_WR_DATA8(0x2D);
TFTLCD_WR_DATA8(0x3B);
TFTLCD_WR_DATA8(0x00);
TFTLCD_WR_DATA8(0x01);
TFTLCD_WR_DATA8(0x04);
TFTLCD_WR_DATA8(0x13);
TFTLCD_WR_REG(0x3A); //65k mode
TFTLCD_WR_DATA8(0x05);
TFTLCD_WR_REG(0x29); //Display on
}
else if(TFT==24)//ST7789
{
TFTLCD_WR_REG(0x36);
if(USE_HORIZONTAL==0)TFTLCD_WR_DATA8(0x00);
else if(USE_HORIZONTAL==1)TFTLCD_WR_DATA8(0x60);
else if(USE_HORIZONTAL==2)TFTLCD_WR_DATA8(0xa0);
else TFTLCD_WR_DATA8(0xc0);
TFTLCD_WR_REG(0x3A);
TFTLCD_WR_DATA8(0x05);
TFTLCD_WR_REG(0xB2);
TFTLCD_WR_DATA8(0x0C);
TFTLCD_WR_DATA8(0x0C);
TFTLCD_WR_DATA8(0x00);
TFTLCD_WR_DATA8(0x33);
TFTLCD_WR_DATA8(0x33);
TFTLCD_WR_REG(0xB7);
TFTLCD_WR_DATA8(0x35);
TFTLCD_WR_REG(0xBB);
TFTLCD_WR_DATA8(0x19);
TFTLCD_WR_REG(0xC0);
TFTLCD_WR_DATA8(0x2C);
TFTLCD_WR_REG(0xC2);
TFTLCD_WR_DATA8(0x01);
TFTLCD_WR_REG(0xC3);
TFTLCD_WR_DATA8(0x12);
TFTLCD_WR_REG(0xC4);
TFTLCD_WR_DATA8(0x20);
TFTLCD_WR_REG(0xC6);
TFTLCD_WR_DATA8(0x0F);
TFTLCD_WR_REG(0xD0);
TFTLCD_WR_DATA8(0xA4);
TFTLCD_WR_DATA8(0xA1);
TFTLCD_WR_REG(0xE0);
TFTLCD_WR_DATA8(0xD0);
TFTLCD_WR_DATA8(0x04);
TFTLCD_WR_DATA8(0x0D);
TFTLCD_WR_DATA8(0x11);
TFTLCD_WR_DATA8(0x13);
TFTLCD_WR_DATA8(0x2B);
TFTLCD_WR_DATA8(0x3F);
TFTLCD_WR_DATA8(0x54);
TFTLCD_WR_DATA8(0x4C);
TFTLCD_WR_DATA8(0x18);
TFTLCD_WR_DATA8(0x0D);
TFTLCD_WR_DATA8(0x0B);
TFTLCD_WR_DATA8(0x1F);
TFTLCD_WR_DATA8(0x23);
TFTLCD_WR_REG(0xE1);
TFTLCD_WR_DATA8(0xD0);
TFTLCD_WR_DATA8(0x04);
TFTLCD_WR_DATA8(0x0C);
TFTLCD_WR_DATA8(0x11);
TFTLCD_WR_DATA8(0x13);
TFTLCD_WR_DATA8(0x2C);
TFTLCD_WR_DATA8(0x3F);
TFTLCD_WR_DATA8(0x44);
TFTLCD_WR_DATA8(0x51);
TFTLCD_WR_DATA8(0x2F);
TFTLCD_WR_DATA8(0x1F);
TFTLCD_WR_DATA8(0x1F);
TFTLCD_WR_DATA8(0x20);
TFTLCD_WR_DATA8(0x23);
TFTLCD_WR_REG(0x21);
TFTLCD_WR_REG(0x11);
//Delay (120);
TFTLCD_WR_REG(0x29);
// 设置列地址
TFTLCD_WR_REG(0x2A); // 列地址设置
TFTLCD_WR_DATA8(0x00); // 起始列地址高位
TFTLCD_WR_DATA8(0x00); // 起始列地址低位
TFTLCD_WR_DATA8(0x00); // 结束列地址高位
TFTLCD_WR_DATA8(0xEF); // 结束列地址低位240 列)
// 设置行地址
TFTLCD_WR_REG(0x2B); // 行地址设置
TFTLCD_WR_DATA8(0x00); // 起始行地址高位
TFTLCD_WR_DATA8(0x00); // 起始行地址低位
TFTLCD_WR_DATA8(0x00); // 结束行地址高位
TFTLCD_WR_DATA8(0xC5); // 结束行地址低位198 行)
TFTLCD_WR_REG(0x2C); // 内存写入
}
}
void TFTLCD_Fill(u16 xsta,u16 ysta,u16 xend,u16 yend,u16 color)
{
u16 i,j;
TFTLCD_Address_Set(xsta,ysta,xend-1,yend-1);
for(i=ysta;i<yend;i++)
{
for(j=xsta;j<xend;j++)
{
TFTLCD_WR_DATA(color);
}
}
}
void TFTLCD_DrawPoint(u16 x,u16 y,u16 color)
{
TFTLCD_Address_Set(x,y,x,y);
TFTLCD_WR_DATA(color);
}
void TFTLCD_DrawLine(u16 x1,u16 y1,u16 x2,u16 y2,u16 color)
{
u16 t;
int xerr=0,yerr=0,delta_x,delta_y,distance;
int incx,incy,uRow,uCol;
delta_x=x2-x1;
delta_y=y2-y1;
uRow=x1;
uCol=y1;
if(delta_x>0)incx=1;
else if(delta_x==0)incx=0;
else {incx=-1;delta_x=-delta_x;}
if(delta_y>0)incy=1;
else if(delta_y==0)incy=0;
else {incy=-1;delta_y=-delta_y;}
if(delta_x>delta_y)distance=delta_x;
else distance=delta_y;
for(t=0;t<distance+1;t++)
{
TFTLCD_DrawPoint(uRow,uCol,color);
xerr+=delta_x;
yerr+=delta_y;
if(xerr>distance)
{
xerr-=distance;
uRow+=incx;
}
if(yerr>distance)
{
yerr-=distance;
uCol+=incy;
}
}
}
void TFTLCD_DrawRectangle(u16 x1, u16 y1, u16 x2, u16 y2,u16 color)
{
TFTLCD_DrawLine(x1,y1,x2,y1,color);
TFTLCD_DrawLine(x1,y1,x1,y2,color);
TFTLCD_DrawLine(x1,y2,x2,y2,color);
TFTLCD_DrawLine(x2,y1,x2,y2,color);
}
void TFTLCD_DrawCircle(u16 x0,u16 y0,u8 r,u16 color)
{
int a,b;
a=0;b=r;
while(a<=b)
{
TFTLCD_DrawPoint(x0-b,y0-a,color); //3
TFTLCD_DrawPoint(x0+b,y0-a,color); //0
TFTLCD_DrawPoint(x0-a,y0+b,color); //1
TFTLCD_DrawPoint(x0-a,y0-b,color); //2
TFTLCD_DrawPoint(x0+b,y0+a,color); //4
TFTLCD_DrawPoint(x0+a,y0-b,color); //5
TFTLCD_DrawPoint(x0+a,y0+b,color); //6
TFTLCD_DrawPoint(x0-b,y0+a,color); //7
a++;
if((a*a+b*b)>(r*r))
{
b--;
}
}
}
void TFTLCD_ShowChar(u16 x,u16 y,u8 num,u16 fc,u16 bc,u8 sizey,u8 mode)
{
u8 temp,sizex,t,m=0;
u16 i,TypefaceNum;
u16 x0=x;
sizex=sizey/2;
TypefaceNum=(sizex/8+((sizex%8)?1:0))*sizey;
num=num-' ';
TFTLCD_Address_Set(x,y,x+sizex-1,y+sizey-1);
for(i=0;i<TypefaceNum;i++)
{
if(sizey==12)temp=ascii_1206[num][i];
else if(sizey==16)temp=ascii_1608[num][i];
else if(sizey==24)temp=ascii_2412[num][i];
else return;
for(t=0;t<8;t++)
{
if(!mode)
{
if(temp&(0x01<<t))TFTLCD_WR_DATA(fc);
else TFTLCD_WR_DATA(bc);
m++;
if(m%sizex==0)
{
m=0;
break;
}
}
else
{
if(temp&(0x01<<t))TFTLCD_DrawPoint(x,y,fc);
x++;
if((x-x0)==sizex)
{
x=x0;
y++;
break;
}
}
}
}
}
void TFTLCD_ShowString(u16 x,u16 y,const u8 *p,u16 fc,u16 bc,u8 sizey,u8 mode)
{
while(*p!='\0')
{
TFTLCD_ShowChar(x,y,*p,fc,bc,sizey,mode);
x+=sizey/2;
p++;
}
}
u32 mypow(u8 m,u8 n)
{
u32 result=1;
while(n--)result*=m;
return result;
}
void TFTLCD_ShowIntNum(u16 x,u16 y,u16 num,u8 len,u16 fc,u16 bc,u8 sizey)
{
u8 t,temp;
u8 enshow=0;
u8 sizex=sizey/2;
for(t=0;t<len;t++)
{
temp=(num/mypow(10,len-t-1))%10;
if(enshow==0&&t<(len-1))
{
if(temp==0)
{
TFTLCD_ShowChar(x+t*sizex,y,' ',fc,bc,sizey,0);
continue;
}else enshow=1;
}
TFTLCD_ShowChar(x+t*sizex,y,temp+48,fc,bc,sizey,0);
}
}
void TFTLCD_ShowFloatNum1(u16 x,u16 y,float num,u8 len,u16 fc,u16 bc,u8 sizey)
{
u8 t,temp,sizex;
u16 num1;
sizex=sizey/2;
num1=num*100;
for(t=0;t<len;t++)
{
temp=(num1/mypow(10,len-t-1))%10;
if(t==(len-2))
{
TFTLCD_ShowChar(x+(len-2)*sizex,y,'.',fc,bc,sizey,0);
t++;
len+=1;
}
TFTLCD_ShowChar(x+t*sizex,y,temp+48,fc,bc,sizey,0);
}
}
void TFTLCD_ShowPicture(u16 x,u16 y,u16 length,u16 width,const u8 pic[])
{
u16 i,j;
u32 k=0;
TFTLCD_Address_Set(x,y,x+length-1,y+width-1);
for(i=0;i<length;i++)
{
for(j=0;j<width;j++)
{
TFTLCD_WR_DATA8(pic[k*2]);
TFTLCD_WR_DATA8(pic[k*2+1]);
k++;
}
}
}
void TFTLCD_Image(u16 x, u16 y, u16 width, u16 height, const u8 *image)
{
u16 colorData=0;
u32 cnt=0;
u16 i=0,j=0;
for(i=0; i<height; i++) // 一行一行地显示
{
TFTLCD_Address_Set(x, y+i, x+width, y+height); // 重新设置光标位置
for(j=0; j<width; j++) // 一行中,从左到事,逐个像素处理
{
colorData=(image[cnt*2+1]<<8) | image[cnt*2];
TFTLCD_WR_DATA(colorData); // 写入16位颜色数据
cnt++;
}
}
}

View File

@ -1,158 +0,0 @@
#ifndef __TFTLCD_H
#define __TFTLCD_H
#include "sys.h"
#include "stdlib.h"
#define TFT 24
#define TFTLCD_SCL_GPIO_PORT GPIOB
#define TFTLCD_SCL_GPIO_PIN GPIO_Pin_9
#define TFTLCD_SDA_GPIO_PORT GPIOB
#define TFTLCD_SDA_GPIO_PIN GPIO_Pin_8
#define TFTLCD_RST_GPIO_PORT GPIOB
#define TFTLCD_RST_GPIO_PIN GPIO_Pin_7
#define TFTLCD_DC_GPIO_PORT GPIOB
#define TFTLCD_DC_GPIO_PIN GPIO_Pin_6
#define TFTLCD_CS_GPIO_PORT GPIOB
#define TFTLCD_CS_GPIO_PIN GPIO_Pin_5
#define TFTLCD_BLK_GPIO_PORT GPIOB
#define TFTLCD_BLK_GPIO_PIN GPIO_Pin_4
//BRR BSRR ODR 都是用来控制16位针脚的 如 GPIOx->BRR=0x01和GPIOx->BSRR=0x01<<16相同 GPIOx->BSRR=0x10000
#define TFTLCD_SDA_SET GPIO_SetBits(TFTLCD_SDA_GPIO_PORT,TFTLCD_SDA_GPIO_PIN) //BSRR--Bit Set Reset Register 设置 GPIOx GPIOx->BSRR= GPIO_Pin11;
#define TFTLCD_SDA_RESET GPIO_ResetBits(TFTLCD_SDA_GPIO_PORT,TFTLCD_SDA_GPIO_PIN)//BRR--Bit Reset Register 清空 GPIOx GPIOx->BRR= GPIO_Pin11;
#define TFTLCD_SCL_SET GPIO_SetBits(TFTLCD_SCL_GPIO_PORT,TFTLCD_SCL_GPIO_PIN)
#define TFTLCD_SCL_RESET GPIO_ResetBits(TFTLCD_SCL_GPIO_PORT,TFTLCD_SCL_GPIO_PIN)
#define TFTLCD_CS_SET GPIO_SetBits(TFTLCD_CS_GPIO_PORT,TFTLCD_CS_GPIO_PIN)
#define TFTLCD_CS_RESET GPIO_ResetBits(TFTLCD_CS_GPIO_PORT,TFTLCD_CS_GPIO_PIN)
#define TFTLCD_DC_SET GPIO_SetBits(TFTLCD_DC_GPIO_PORT,TFTLCD_DC_GPIO_PIN)
#define TFTLCD_DC_RESET GPIO_ResetBits(TFTLCD_DC_GPIO_PORT,TFTLCD_DC_GPIO_PIN)
#define TFTLCD_RST_SET GPIO_SetBits(TFTLCD_RST_GPIO_PORT,TFTLCD_RST_GPIO_PIN)
#define TFTLCD_RST_RESET GPIO_ResetBits(TFTLCD_RST_GPIO_PORT,TFTLCD_RST_GPIO_PIN)
#define TFTLCD_BLK_SET GPIO_SetBits(TFTLCD_BLK_GPIO_PORT,TFTLCD_BLK_GPIO_PIN)
#define TFTLCD_BLK_RESET GPIO_ResetBits(TFTLCD_BLK_GPIO_PORT,TFTLCD_BLK_GPIO_PIN)
#define USE_HORIZONTAL 0
//0: C 34 L 0
//1: C 34 L 0
//2: C 0 L 34
//3: C 0 L 34
//0: C 82 L 18
//1: C 82 L 18
//2: C 18 L 82
//3: C 18 L 82
#define TFT_COLUMN_OFFSET 0
#define TFT_LINE_OFFSET 0
#if TFT==18
#if USE_HORIZONTAL==0||USE_HORIZONTAL==1
#define TFTLCD_W 128
#define TFTLCD_H 160
#else
#define TFTLCD_W 160
#define TFTLCD_H 128
#endif
#elif TFT==13
#define TFTLCD_W 240
#define TFTLCD_H 240
#elif TFT==145
#if USE_HORIZONTAL==0||USE_HORIZONTAL==1
#define TFTLCD_W 60
#define TFTLCD_H 160
#else
#define TFTLCD_W 160
#define TFTLCD_H 60
#endif
#elif TFT==154
#define TFTLCD_W 240
#define TFTLCD_H 240
#elif TFT==24
#if USE_HORIZONTAL==0||USE_HORIZONTAL==1
#define TFTLCD_W 240
#define TFTLCD_H 320
#else
#define TFTLCD_W 320
#define TFTLCD_H 240
#endif
#elif TFT==225
#if USE_HORIZONTAL==0||USE_HORIZONTAL==1
#define TFTLCD_W 76
#define TFTLCD_H 284
#else
#define TFTLCD_W 284
#define TFTLCD_H 76
#endif
#endif
#define WHITE 0xFFFF
#define BLACK 0x0000
#define BLUE 0x001F
#define BRED 0XF81F
#define GRED 0XFFE0
#define GBLUE 0X07FF
#define RED 0xF800
#define MAGENTA 0xF81F
#define GREEN 0x07E0
#define CYAN 0x7FFF
#define YELLOW 0xFFE0
#define BROWN 0XBC40
#define BRRED 0XFC07
#define GRAY 0X8430
#define DARKBLUE 0X01CF
#define LIGHTBLUE 0X7D7C
#define GRAYBLUE 0X5458
#define LIGHTGREEN 0X841F
#define LGRAY 0XC618
#define LGRAYBLUE 0XA651
#define LBBLUE 0X2B12
void TFTLCD_GPIO_Init(void);
void TFTLCD_Writ_Bus(u8 dat);
void TFTLCD_WR_DATA8(u8 dat);
void TFTLCD_WR_DATA(u16 dat);
void TFTLCD_WR_REG(u8 dat);
void TFTLCD_Address_Set(u16 x1,u16 y1,u16 x2,u16 y2);
void TFTLCD_Init(void);//LCD
void TFTLCD_Fill(u16 xsta,u16 ysta,u16 xend,u16 yend,u16 color);
void TFTLCD_DrawPoint(u16 x,u16 y,u16 color);
void TFTLCD_DrawLine(u16 x1,u16 y1,u16 x2,u16 y2,u16 color);
void TFTLCD_DrawRectangle(u16 x1, u16 y1, u16 x2, u16 y2,u16 color);
void TFTLCD_DrawCircle(u16 x0,u16 y0,u8 r,u16 color);
void TFTLCD_ShowChinese(u16 x,u16 y,u8 *s,u16 fc,u16 bc,u8 sizey,u8 mode);
void TFTLCD_ShowChar(u16 x,u16 y,u8 num,u16 fc,u16 bc,u8 sizey,u8 mode);
void TFTLCD_ShowString(u16 x,u16 y,const u8 *p,u16 fc,u16 bc,u8 sizey,u8 mode);
u32 mypow(u8 m,u8 n);
void TFTLCD_ShowIntNum(u16 x,u16 y,u16 num,u8 len,u16 fc,u16 bc,u8 sizey);
void TFTLCD_ShowFloatNum1(u16 x,u16 y,float num,u8 len,u16 fc,u16 bc,u8 sizey);
void TFTLCD_ShowPicture(u16 x,u16 y,u16 length,u16 width,const u8 pic[]);
void TFTLCD_Image(u16 x, u16 y, u16 width, u16 height, const u8 *image);
#endif

View File

@ -1,784 +0,0 @@
/**************************************************************************//**
* @file core_cm3.c
* @brief CMSIS Cortex-M3 Core Peripheral Access Layer Source File
* @version V1.30
* @date 30. October 2009
*
* @note
* Copyright (C) 2009 ARM Limited. All rights reserved.
*
* @par
* ARM Limited (ARM) is supplying this software for use with Cortex-M
* processor based microcontrollers. This file can be freely distributed
* within development tools that are supporting such ARM based processors.
*
* @par
* THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
* OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
* ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
* CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
*
******************************************************************************/
#include <stdint.h>
/* define compiler specific symbols */
#if defined ( __CC_ARM )
#define __ASM __asm /*!< asm keyword for ARM Compiler */
#define __INLINE __inline /*!< inline keyword for ARM Compiler */
#elif defined ( __ICCARM__ )
#define __ASM __asm /*!< asm keyword for IAR Compiler */
#define __INLINE inline /*!< inline keyword for IAR Compiler. Only avaiable in High optimization mode! */
#elif defined ( __GNUC__ )
#define __ASM __asm /*!< asm keyword for GNU Compiler */
#define __INLINE inline /*!< inline keyword for GNU Compiler */
#elif defined ( __TASKING__ )
#define __ASM __asm /*!< asm keyword for TASKING Compiler */
#define __INLINE inline /*!< inline keyword for TASKING Compiler */
#endif
/* ################### Compiler specific Intrinsics ########################### */
#if defined ( __CC_ARM ) /*------------------RealView Compiler -----------------*/
/* ARM armcc specific functions */
/**
* @brief Return the Process Stack Pointer
*
* @return ProcessStackPointer
*
* Return the actual process stack pointer
*/
__ASM uint32_t __get_PSP(void)
{
mrs r0, psp
bx lr
}
/**
* @brief Set the Process Stack Pointer
*
* @param topOfProcStack Process Stack Pointer
*
* Assign the value ProcessStackPointer to the MSP
* (process stack pointer) Cortex processor register
*/
__ASM void __set_PSP(uint32_t topOfProcStack)
{
msr psp, r0
bx lr
}
/**
* @brief Return the Main Stack Pointer
*
* @return Main Stack Pointer
*
* Return the current value of the MSP (main stack pointer)
* Cortex processor register
*/
__ASM uint32_t __get_MSP(void)
{
mrs r0, msp
bx lr
}
/**
* @brief Set the Main Stack Pointer
*
* @param topOfMainStack Main Stack Pointer
*
* Assign the value mainStackPointer to the MSP
* (main stack pointer) Cortex processor register
*/
__ASM void __set_MSP(uint32_t mainStackPointer)
{
msr msp, r0
bx lr
}
/**
* @brief Reverse byte order in unsigned short value
*
* @param value value to reverse
* @return reversed value
*
* Reverse byte order in unsigned short value
*/
__ASM uint32_t __REV16(uint16_t value)
{
rev16 r0, r0
bx lr
}
/**
* @brief Reverse byte order in signed short value with sign extension to integer
*
* @param value value to reverse
* @return reversed value
*
* Reverse byte order in signed short value with sign extension to integer
*/
__ASM int32_t __REVSH(int16_t value)
{
revsh r0, r0
bx lr
}
#if (__ARMCC_VERSION < 400000)
/**
* @brief Remove the exclusive lock created by ldrex
*
* Removes the exclusive lock which is created by ldrex.
*/
__ASM void __CLREX(void)
{
clrex
}
/**
* @brief Return the Base Priority value
*
* @return BasePriority
*
* Return the content of the base priority register
*/
__ASM uint32_t __get_BASEPRI(void)
{
mrs r0, basepri
bx lr
}
/**
* @brief Set the Base Priority value
*
* @param basePri BasePriority
*
* Set the base priority register
*/
__ASM void __set_BASEPRI(uint32_t basePri)
{
msr basepri, r0
bx lr
}
/**
* @brief Return the Priority Mask value
*
* @return PriMask
*
* Return state of the priority mask bit from the priority mask register
*/
__ASM uint32_t __get_PRIMASK(void)
{
mrs r0, primask
bx lr
}
/**
* @brief Set the Priority Mask value
*
* @param priMask PriMask
*
* Set the priority mask bit in the priority mask register
*/
__ASM void __set_PRIMASK(uint32_t priMask)
{
msr primask, r0
bx lr
}
/**
* @brief Return the Fault Mask value
*
* @return FaultMask
*
* Return the content of the fault mask register
*/
__ASM uint32_t __get_FAULTMASK(void)
{
mrs r0, faultmask
bx lr
}
/**
* @brief Set the Fault Mask value
*
* @param faultMask faultMask value
*
* Set the fault mask register
*/
__ASM void __set_FAULTMASK(uint32_t faultMask)
{
msr faultmask, r0
bx lr
}
/**
* @brief Return the Control Register value
*
* @return Control value
*
* Return the content of the control register
*/
__ASM uint32_t __get_CONTROL(void)
{
mrs r0, control
bx lr
}
/**
* @brief Set the Control Register value
*
* @param control Control value
*
* Set the control register
*/
__ASM void __set_CONTROL(uint32_t control)
{
msr control, r0
bx lr
}
#endif /* __ARMCC_VERSION */
#elif (defined (__ICCARM__)) /*------------------ ICC Compiler -------------------*/
/* IAR iccarm specific functions */
#pragma diag_suppress=Pe940
/**
* @brief Return the Process Stack Pointer
*
* @return ProcessStackPointer
*
* Return the actual process stack pointer
*/
uint32_t __get_PSP(void)
{
__ASM("mrs r0, psp");
__ASM("bx lr");
}
/**
* @brief Set the Process Stack Pointer
*
* @param topOfProcStack Process Stack Pointer
*
* Assign the value ProcessStackPointer to the MSP
* (process stack pointer) Cortex processor register
*/
void __set_PSP(uint32_t topOfProcStack)
{
__ASM("msr psp, r0");
__ASM("bx lr");
}
/**
* @brief Return the Main Stack Pointer
*
* @return Main Stack Pointer
*
* Return the current value of the MSP (main stack pointer)
* Cortex processor register
*/
uint32_t __get_MSP(void)
{
__ASM("mrs r0, msp");
__ASM("bx lr");
}
/**
* @brief Set the Main Stack Pointer
*
* @param topOfMainStack Main Stack Pointer
*
* Assign the value mainStackPointer to the MSP
* (main stack pointer) Cortex processor register
*/
void __set_MSP(uint32_t topOfMainStack)
{
__ASM("msr msp, r0");
__ASM("bx lr");
}
/**
* @brief Reverse byte order in unsigned short value
*
* @param value value to reverse
* @return reversed value
*
* Reverse byte order in unsigned short value
*/
uint32_t __REV16(uint16_t value)
{
__ASM("rev16 r0, r0");
__ASM("bx lr");
}
/**
* @brief Reverse bit order of value
*
* @param value value to reverse
* @return reversed value
*
* Reverse bit order of value
*/
uint32_t __RBIT(uint32_t value)
{
__ASM("rbit r0, r0");
__ASM("bx lr");
}
/**
* @brief LDR Exclusive (8 bit)
*
* @param *addr address pointer
* @return value of (*address)
*
* Exclusive LDR command for 8 bit values)
*/
uint8_t __LDREXB(uint8_t *addr)
{
__ASM("ldrexb r0, [r0]");
__ASM("bx lr");
}
/**
* @brief LDR Exclusive (16 bit)
*
* @param *addr address pointer
* @return value of (*address)
*
* Exclusive LDR command for 16 bit values
*/
uint16_t __LDREXH(uint16_t *addr)
{
__ASM("ldrexh r0, [r0]");
__ASM("bx lr");
}
/**
* @brief LDR Exclusive (32 bit)
*
* @param *addr address pointer
* @return value of (*address)
*
* Exclusive LDR command for 32 bit values
*/
uint32_t __LDREXW(uint32_t *addr)
{
__ASM("ldrex r0, [r0]");
__ASM("bx lr");
}
/**
* @brief STR Exclusive (8 bit)
*
* @param value value to store
* @param *addr address pointer
* @return successful / failed
*
* Exclusive STR command for 8 bit values
*/
uint32_t __STREXB(uint8_t value, uint8_t *addr)
{
__ASM("strexb r0, r0, [r1]");
__ASM("bx lr");
}
/**
* @brief STR Exclusive (16 bit)
*
* @param value value to store
* @param *addr address pointer
* @return successful / failed
*
* Exclusive STR command for 16 bit values
*/
uint32_t __STREXH(uint16_t value, uint16_t *addr)
{
__ASM("strexh r0, r0, [r1]");
__ASM("bx lr");
}
/**
* @brief STR Exclusive (32 bit)
*
* @param value value to store
* @param *addr address pointer
* @return successful / failed
*
* Exclusive STR command for 32 bit values
*/
uint32_t __STREXW(uint32_t value, uint32_t *addr)
{
__ASM("strex r0, r0, [r1]");
__ASM("bx lr");
}
#pragma diag_default=Pe940
#elif (defined (__GNUC__)) /*------------------ GNU Compiler ---------------------*/
/* GNU gcc specific functions */
/**
* @brief Return the Process Stack Pointer
*
* @return ProcessStackPointer
*
* Return the actual process stack pointer
*/
uint32_t __get_PSP(void) __attribute__( ( naked ) );
uint32_t __get_PSP(void)
{
uint32_t result=0;
__ASM volatile ("MRS %0, psp\n\t"
"MOV r0, %0 \n\t"
"BX lr \n\t" : "=r" (result) );
return(result);
}
/**
* @brief Set the Process Stack Pointer
*
* @param topOfProcStack Process Stack Pointer
*
* Assign the value ProcessStackPointer to the MSP
* (process stack pointer) Cortex processor register
*/
void __set_PSP(uint32_t topOfProcStack) __attribute__( ( naked ) );
void __set_PSP(uint32_t topOfProcStack)
{
__ASM volatile ("MSR psp, %0\n\t"
"BX lr \n\t" : : "r" (topOfProcStack) );
}
/**
* @brief Return the Main Stack Pointer
*
* @return Main Stack Pointer
*
* Return the current value of the MSP (main stack pointer)
* Cortex processor register
*/
uint32_t __get_MSP(void) __attribute__( ( naked ) );
uint32_t __get_MSP(void)
{
uint32_t result=0;
__ASM volatile ("MRS %0, msp\n\t"
"MOV r0, %0 \n\t"
"BX lr \n\t" : "=r" (result) );
return(result);
}
/**
* @brief Set the Main Stack Pointer
*
* @param topOfMainStack Main Stack Pointer
*
* Assign the value mainStackPointer to the MSP
* (main stack pointer) Cortex processor register
*/
void __set_MSP(uint32_t topOfMainStack) __attribute__( ( naked ) );
void __set_MSP(uint32_t topOfMainStack)
{
__ASM volatile ("MSR msp, %0\n\t"
"BX lr \n\t" : : "r" (topOfMainStack) );
}
/**
* @brief Return the Base Priority value
*
* @return BasePriority
*
* Return the content of the base priority register
*/
uint32_t __get_BASEPRI(void)
{
uint32_t result=0;
__ASM volatile ("MRS %0, basepri_max" : "=r" (result) );
return(result);
}
/**
* @brief Set the Base Priority value
*
* @param basePri BasePriority
*
* Set the base priority register
*/
void __set_BASEPRI(uint32_t value)
{
__ASM volatile ("MSR basepri, %0" : : "r" (value) );
}
/**
* @brief Return the Priority Mask value
*
* @return PriMask
*
* Return state of the priority mask bit from the priority mask register
*/
uint32_t __get_PRIMASK(void)
{
uint32_t result=0;
__ASM volatile ("MRS %0, primask" : "=r" (result) );
return(result);
}
/**
* @brief Set the Priority Mask value
*
* @param priMask PriMask
*
* Set the priority mask bit in the priority mask register
*/
void __set_PRIMASK(uint32_t priMask)
{
__ASM volatile ("MSR primask, %0" : : "r" (priMask) );
}
/**
* @brief Return the Fault Mask value
*
* @return FaultMask
*
* Return the content of the fault mask register
*/
uint32_t __get_FAULTMASK(void)
{
uint32_t result=0;
__ASM volatile ("MRS %0, faultmask" : "=r" (result) );
return(result);
}
/**
* @brief Set the Fault Mask value
*
* @param faultMask faultMask value
*
* Set the fault mask register
*/
void __set_FAULTMASK(uint32_t faultMask)
{
__ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) );
}
/**
* @brief Return the Control Register value
*
* @return Control value
*
* Return the content of the control register
*/
uint32_t __get_CONTROL(void)
{
uint32_t result=0;
__ASM volatile ("MRS %0, control" : "=r" (result) );
return(result);
}
/**
* @brief Set the Control Register value
*
* @param control Control value
*
* Set the control register
*/
void __set_CONTROL(uint32_t control)
{
__ASM volatile ("MSR control, %0" : : "r" (control) );
}
/**
* @brief Reverse byte order in integer value
*
* @param value value to reverse
* @return reversed value
*
* Reverse byte order in integer value
*/
uint32_t __REV(uint32_t value)
{
uint32_t result=0;
__ASM volatile ("rev %0, %1" : "=r" (result) : "r" (value) );
return(result);
}
/**
* @brief Reverse byte order in unsigned short value
*
* @param value value to reverse
* @return reversed value
*
* Reverse byte order in unsigned short value
*/
uint32_t __REV16(uint16_t value)
{
uint32_t result=0;
__ASM volatile ("rev16 %0, %1" : "=r" (result) : "r" (value) );
return(result);
}
/**
* @brief Reverse byte order in signed short value with sign extension to integer
*
* @param value value to reverse
* @return reversed value
*
* Reverse byte order in signed short value with sign extension to integer
*/
int32_t __REVSH(int16_t value)
{
uint32_t result=0;
__ASM volatile ("revsh %0, %1" : "=r" (result) : "r" (value) );
return(result);
}
/**
* @brief Reverse bit order of value
*
* @param value value to reverse
* @return reversed value
*
* Reverse bit order of value
*/
uint32_t __RBIT(uint32_t value)
{
uint32_t result=0;
__ASM volatile ("rbit %0, %1" : "=r" (result) : "r" (value) );
return(result);
}
/**
* @brief LDR Exclusive (8 bit)
*
* @param *addr address pointer
* @return value of (*address)
*
* Exclusive LDR command for 8 bit value
*/
uint8_t __LDREXB(uint8_t *addr)
{
uint8_t result=0;
__ASM volatile ("ldrexb %0, [%1]" : "=r" (result) : "r" (addr) );
return(result);
}
/**
* @brief LDR Exclusive (16 bit)
*
* @param *addr address pointer
* @return value of (*address)
*
* Exclusive LDR command for 16 bit values
*/
uint16_t __LDREXH(uint16_t *addr)
{
uint16_t result=0;
__ASM volatile ("ldrexh %0, [%1]" : "=r" (result) : "r" (addr) );
return(result);
}
/**
* @brief LDR Exclusive (32 bit)
*
* @param *addr address pointer
* @return value of (*address)
*
* Exclusive LDR command for 32 bit values
*/
uint32_t __LDREXW(uint32_t *addr)
{
uint32_t result=0;
__ASM volatile ("ldrex %0, [%1]" : "=r" (result) : "r" (addr) );
return(result);
}
/**
* @brief STR Exclusive (8 bit)
*
* @param value value to store
* @param *addr address pointer
* @return successful / failed
*
* Exclusive STR command for 8 bit values
*/
uint32_t __STREXB(uint8_t value, uint8_t *addr)
{
uint32_t result=0;
__ASM volatile ("strexb %0, %2, [%1]" : "=r" (result) : "r" (addr), "r" (value) );
return(result);
}
/**
* @brief STR Exclusive (16 bit)
*
* @param value value to store
* @param *addr address pointer
* @return successful / failed
*
* Exclusive STR command for 16 bit values
*/
uint32_t __STREXH(uint16_t value, uint16_t *addr)
{
uint32_t result=0;
__ASM volatile ("strexh %0, %2, [%1]" : "=r" (result) : "r" (addr), "r" (value) );
return(result);
}
/**
* @brief STR Exclusive (32 bit)
*
* @param value value to store
* @param *addr address pointer
* @return successful / failed
*
* Exclusive STR command for 32 bit values
*/
uint32_t __STREXW(uint32_t value, uint32_t *addr)
{
uint32_t result=0;
__ASM volatile ("strex %0, %2, [%1]" : "=r" (result) : "r" (addr), "r" (value) );
return(result);
}
#elif (defined (__TASKING__)) /*------------------ TASKING Compiler ---------------------*/
/* TASKING carm specific functions */
/*
* The CMSIS functions have been implemented as intrinsics in the compiler.
* Please use "carm -?i" to get an up to date list of all instrinsics,
* Including the CMSIS ones.
*/
#endif

View File

@ -1,307 +0,0 @@
;******************** (C) COPYRIGHT 2011 STMicroelectronics ********************
;* File Name : startup_stm32f10x_md.s
;* Author : MCD Application Team
;* Version : V3.5.0
;* Date : 11-March-2011
;* Description : STM32F10x Medium Density Devices vector table for MDK-ARM
;* toolchain.
;* This module performs:
;* - Set the initial SP
;* - Set the initial PC == Reset_Handler
;* - Set the vector table entries with the exceptions ISR address
;* - Configure the clock system
;* - Branches to __main in the C library (which eventually
;* calls main()).
;* After Reset the CortexM3 processor is in Thread mode,
;* priority is Privileged, and the Stack is set to Main.
;* <<< Use Configuration Wizard in Context Menu >>>
;*******************************************************************************
; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
;*******************************************************************************
; Amount of memory (in bytes) allocated for Stack
; Tailor this value to your application needs
; <h> Stack Configuration
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
Stack_Size EQU 0x00000400
AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size
__initial_sp
; <h> Heap Configuration
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h>
Heap_Size EQU 0x00000200
AREA HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base
Heap_Mem SPACE Heap_Size
__heap_limit
PRESERVE8
THUMB
; Vector Table Mapped to Address 0 at Reset
AREA RESET, DATA, READONLY
EXPORT __Vectors
EXPORT __Vectors_End
EXPORT __Vectors_Size
__Vectors DCD __initial_sp ; Top of Stack
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler
DCD UsageFault_Handler ; Usage Fault Handler
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD SVC_Handler ; SVCall Handler
DCD DebugMon_Handler ; Debug Monitor Handler
DCD 0 ; Reserved
DCD PendSV_Handler ; PendSV Handler
DCD SysTick_Handler ; SysTick Handler
; External Interrupts
DCD WWDG_IRQHandler ; Window Watchdog
DCD PVD_IRQHandler ; PVD through EXTI Line detect
DCD TAMPER_IRQHandler ; Tamper
DCD RTC_IRQHandler ; RTC
DCD FLASH_IRQHandler ; Flash
DCD RCC_IRQHandler ; RCC
DCD EXTI0_IRQHandler ; EXTI Line 0
DCD EXTI1_IRQHandler ; EXTI Line 1
DCD EXTI2_IRQHandler ; EXTI Line 2
DCD EXTI3_IRQHandler ; EXTI Line 3
DCD EXTI4_IRQHandler ; EXTI Line 4
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
DCD ADC1_2_IRQHandler ; ADC1_2
DCD USB_HP_CAN1_TX_IRQHandler ; USB High Priority or CAN1 TX
DCD USB_LP_CAN1_RX0_IRQHandler ; USB Low Priority or CAN1 RX0
DCD CAN1_RX1_IRQHandler ; CAN1 RX1
DCD CAN1_SCE_IRQHandler ; CAN1 SCE
DCD EXTI9_5_IRQHandler ; EXTI Line 9..5
DCD TIM1_BRK_IRQHandler ; TIM1 Break
DCD TIM1_UP_IRQHandler ; TIM1 Update
DCD TIM1_TRG_COM_IRQHandler ; TIM1 Trigger and Commutation
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
DCD TIM2_IRQHandler ; TIM2
DCD TIM3_IRQHandler ; TIM3
DCD TIM4_IRQHandler ; TIM4
DCD I2C1_EV_IRQHandler ; I2C1 Event
DCD I2C1_ER_IRQHandler ; I2C1 Error
DCD I2C2_EV_IRQHandler ; I2C2 Event
DCD I2C2_ER_IRQHandler ; I2C2 Error
DCD SPI1_IRQHandler ; SPI1
DCD SPI2_IRQHandler ; SPI2
DCD USART1_IRQHandler ; USART1
DCD USART2_IRQHandler ; USART2
DCD USART3_IRQHandler ; USART3
DCD EXTI15_10_IRQHandler ; EXTI Line 15..10
DCD RTCAlarm_IRQHandler ; RTC Alarm through EXTI Line
DCD USBWakeUp_IRQHandler ; USB Wakeup from suspend
__Vectors_End
__Vectors_Size EQU __Vectors_End - __Vectors
AREA |.text|, CODE, READONLY
; Reset handler
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT __main
IMPORT SystemInit
LDR R0, =SystemInit
BLX R0
LDR R0, =__main
BX R0
ENDP
; Dummy Exception Handlers (infinite loops which can be modified)
NMI_Handler PROC
EXPORT NMI_Handler [WEAK]
B .
ENDP
HardFault_Handler\
PROC
EXPORT HardFault_Handler [WEAK]
B .
ENDP
MemManage_Handler\
PROC
EXPORT MemManage_Handler [WEAK]
B .
ENDP
BusFault_Handler\
PROC
EXPORT BusFault_Handler [WEAK]
B .
ENDP
UsageFault_Handler\
PROC
EXPORT UsageFault_Handler [WEAK]
B .
ENDP
SVC_Handler PROC
EXPORT SVC_Handler [WEAK]
B .
ENDP
DebugMon_Handler\
PROC
EXPORT DebugMon_Handler [WEAK]
B .
ENDP
PendSV_Handler PROC
EXPORT PendSV_Handler [WEAK]
B .
ENDP
SysTick_Handler PROC
EXPORT SysTick_Handler [WEAK]
B .
ENDP
Default_Handler PROC
EXPORT WWDG_IRQHandler [WEAK]
EXPORT PVD_IRQHandler [WEAK]
EXPORT TAMPER_IRQHandler [WEAK]
EXPORT RTC_IRQHandler [WEAK]
EXPORT FLASH_IRQHandler [WEAK]
EXPORT RCC_IRQHandler [WEAK]
EXPORT EXTI0_IRQHandler [WEAK]
EXPORT EXTI1_IRQHandler [WEAK]
EXPORT EXTI2_IRQHandler [WEAK]
EXPORT EXTI3_IRQHandler [WEAK]
EXPORT EXTI4_IRQHandler [WEAK]
EXPORT DMA1_Channel1_IRQHandler [WEAK]
EXPORT DMA1_Channel2_IRQHandler [WEAK]
EXPORT DMA1_Channel3_IRQHandler [WEAK]
EXPORT DMA1_Channel4_IRQHandler [WEAK]
EXPORT DMA1_Channel5_IRQHandler [WEAK]
EXPORT DMA1_Channel6_IRQHandler [WEAK]
EXPORT DMA1_Channel7_IRQHandler [WEAK]
EXPORT ADC1_2_IRQHandler [WEAK]
EXPORT USB_HP_CAN1_TX_IRQHandler [WEAK]
EXPORT USB_LP_CAN1_RX0_IRQHandler [WEAK]
EXPORT CAN1_RX1_IRQHandler [WEAK]
EXPORT CAN1_SCE_IRQHandler [WEAK]
EXPORT EXTI9_5_IRQHandler [WEAK]
EXPORT TIM1_BRK_IRQHandler [WEAK]
EXPORT TIM1_UP_IRQHandler [WEAK]
EXPORT TIM1_TRG_COM_IRQHandler [WEAK]
EXPORT TIM1_CC_IRQHandler [WEAK]
EXPORT TIM2_IRQHandler [WEAK]
EXPORT TIM3_IRQHandler [WEAK]
EXPORT TIM4_IRQHandler [WEAK]
EXPORT I2C1_EV_IRQHandler [WEAK]
EXPORT I2C1_ER_IRQHandler [WEAK]
EXPORT I2C2_EV_IRQHandler [WEAK]
EXPORT I2C2_ER_IRQHandler [WEAK]
EXPORT SPI1_IRQHandler [WEAK]
EXPORT SPI2_IRQHandler [WEAK]
EXPORT USART1_IRQHandler [WEAK]
EXPORT USART2_IRQHandler [WEAK]
EXPORT USART3_IRQHandler [WEAK]
EXPORT EXTI15_10_IRQHandler [WEAK]
EXPORT RTCAlarm_IRQHandler [WEAK]
EXPORT USBWakeUp_IRQHandler [WEAK]
WWDG_IRQHandler
PVD_IRQHandler
TAMPER_IRQHandler
RTC_IRQHandler
FLASH_IRQHandler
RCC_IRQHandler
EXTI0_IRQHandler
EXTI1_IRQHandler
EXTI2_IRQHandler
EXTI3_IRQHandler
EXTI4_IRQHandler
DMA1_Channel1_IRQHandler
DMA1_Channel2_IRQHandler
DMA1_Channel3_IRQHandler
DMA1_Channel4_IRQHandler
DMA1_Channel5_IRQHandler
DMA1_Channel6_IRQHandler
DMA1_Channel7_IRQHandler
ADC1_2_IRQHandler
USB_HP_CAN1_TX_IRQHandler
USB_LP_CAN1_RX0_IRQHandler
CAN1_RX1_IRQHandler
CAN1_SCE_IRQHandler
EXTI9_5_IRQHandler
TIM1_BRK_IRQHandler
TIM1_UP_IRQHandler
TIM1_TRG_COM_IRQHandler
TIM1_CC_IRQHandler
TIM2_IRQHandler
TIM3_IRQHandler
TIM4_IRQHandler
I2C1_EV_IRQHandler
I2C1_ER_IRQHandler
I2C2_EV_IRQHandler
I2C2_ER_IRQHandler
SPI1_IRQHandler
SPI2_IRQHandler
USART1_IRQHandler
USART2_IRQHandler
USART3_IRQHandler
EXTI15_10_IRQHandler
RTCAlarm_IRQHandler
USBWakeUp_IRQHandler
B .
ENDP
ALIGN
;*******************************************************************************
; User Stack and Heap initialization
;*******************************************************************************
IF :DEF:__MICROLIB
EXPORT __initial_sp
EXPORT __heap_base
EXPORT __heap_limit
ELSE
IMPORT __use_two_region_memory
EXPORT __user_initial_stackheap
__user_initial_stackheap
LDR R0, = Heap_Mem
LDR R1, =(Stack_Mem + Stack_Size)
LDR R2, = (Heap_Mem + Heap_Size)
LDR R3, = Stack_Mem
BX LR
ALIGN
ENDIF
END
;******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE*****

View File

@ -1,77 +0,0 @@
/**
******************************************************************************
* @file Project/STM32F10x_StdPeriph_Template/stm32f10x_conf.h
* @author MCD Application Team
* @version V3.5.0
* @date 08-April-2011
* @brief Library configuration file.
******************************************************************************
* @attention
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
* <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32F10x_CONF_H
#define __STM32F10x_CONF_H
/* Includes ------------------------------------------------------------------*/
/* Uncomment/Comment the line below to enable/disable peripheral header file inclusion */
#include "stm32f10x_adc.h"
#include "stm32f10x_bkp.h"
#include "stm32f10x_can.h"
#include "stm32f10x_cec.h"
#include "stm32f10x_crc.h"
#include "stm32f10x_dac.h"
#include "stm32f10x_dbgmcu.h"
#include "stm32f10x_dma.h"
#include "stm32f10x_exti.h"
#include "stm32f10x_flash.h"
#include "stm32f10x_fsmc.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_i2c.h"
#include "stm32f10x_iwdg.h"
#include "stm32f10x_pwr.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_rtc.h"
#include "stm32f10x_sdio.h"
#include "stm32f10x_spi.h"
#include "stm32f10x_tim.h"
#include "stm32f10x_usart.h"
#include "stm32f10x_wwdg.h"
#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/* Uncomment the line below to expanse the "assert_param" macro in the
Standard Peripheral Library drivers code */
/* #define USE_FULL_ASSERT 1 */
/* Exported macro ------------------------------------------------------------*/
#ifdef USE_FULL_ASSERT
/**
* @brief The assert_param macro is used for function's parameters check.
* @param expr: If expr is false, it calls assert_failed function which reports
* the name of the source file and the source line number of the call
* that failed. If expr is true, it returns no value.
* @retval None
*/
#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
/* Exported functions ------------------------------------------------------- */
void assert_failed(uint8_t* file, uint32_t line);
#else
#define assert_param(expr) ((void)0)
#endif /* USE_FULL_ASSERT */
#endif /* __STM32F10x_CONF_H */
/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/

View File

@ -1,164 +0,0 @@
/**
******************************************************************************
* @file Project/STM32F10x_StdPeriph_Template/stm32f10x_it.c
* @author MCD Application Team
* @version V3.5.0
* @date 08-April-2011
* @brief Main Interrupt Service Routines.
* This file provides template for all exceptions handler and
* peripherals interrupt service routine.
******************************************************************************
* @attention
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
* <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>
******************************************************************************
*/
/* Includes ------------------------------------------------------------------*/
#include "stm32f10x_it.h"
/** @addtogroup STM32F10x_StdPeriph_Template
* @{
*/
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*/
/******************************************************************************/
/* Cortex-M3 Processor Exceptions Handlers */
/******************************************************************************/
/**
* @brief This function handles NMI exception.
* @param None
* @retval None
*/
void NMI_Handler(void)
{
}
/**
* @brief This function handles Hard Fault exception.
* @param None
* @retval None
*/
void HardFault_Handler(void)
{
/* Go to infinite loop when Hard Fault exception occurs */
while (1)
{
}
}
/**
* @brief This function handles Memory Manage exception.
* @param None
* @retval None
*/
void MemManage_Handler(void)
{
/* Go to infinite loop when Memory Manage exception occurs */
while (1)
{
}
}
/**
* @brief This function handles Bus Fault exception.
* @param None
* @retval None
*/
void BusFault_Handler(void)
{
/* Go to infinite loop when Bus Fault exception occurs */
while (1)
{
}
}
/**
* @brief This function handles Usage Fault exception.
* @param None
* @retval None
*/
void UsageFault_Handler(void)
{
/* Go to infinite loop when Usage Fault exception occurs */
while (1)
{
}
}
/**
* @brief This function handles SVCall exception.
* @param None
* @retval None
*/
void SVC_Handler(void)
{
}
/**
* @brief This function handles Debug Monitor exception.
* @param None
* @retval None
*/
void DebugMon_Handler(void)
{
}
/**
* @brief This function handles PendSVC exception.
* @param None
* @retval None
*/
void PendSV_Handler(void)
{
}
/**
* @brief This function handles SysTick Handler.
* @param None
* @retval None
*/
void SysTick_Handler(void)
{
}
/******************************************************************************/
/* STM32F10x Peripherals Interrupt Handlers */
/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */
/* available peripheral interrupt handler's name please refer to the startup */
/* file (startup_stm32f10x_xx.s). */
/******************************************************************************/
/**
* @brief This function handles PPP interrupt request.
* @param None
* @retval None
*/
/*void PPP_IRQHandler(void)
{
}*/
/**
* @}
*/
/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/

View File

@ -1,54 +0,0 @@
/**
******************************************************************************
* @file Project/STM32F10x_StdPeriph_Template/stm32f10x_it.h
* @author MCD Application Team
* @version V3.5.0
* @date 08-April-2011
* @brief This file contains the headers of the interrupt handlers.
******************************************************************************
* @attention
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
* <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32F10x_IT_H
#define __STM32F10x_IT_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "stm32f10x.h"
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/* Exported macro ------------------------------------------------------------*/
/* Exported functions ------------------------------------------------------- */
void NMI_Handler(void);
void HardFault_Handler(void);
void MemManage_Handler(void);
void BusFault_Handler(void);
void UsageFault_Handler(void);
void SVC_Handler(void);
void DebugMon_Handler(void);
void PendSV_Handler(void);
void SysTick_Handler(void);
#ifdef __cplusplus
}
#endif
#endif /* __STM32F10x_IT_H */
/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/

View File

@ -1,98 +0,0 @@
/**
******************************************************************************
* @file system_stm32f10x.h
* @author MCD Application Team
* @version V3.5.0
* @date 11-March-2011
* @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Header File.
******************************************************************************
* @attention
*
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
* TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
* DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
*
* <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>
******************************************************************************
*/
/** @addtogroup CMSIS
* @{
*/
/** @addtogroup stm32f10x_system
* @{
*/
/**
* @brief Define to prevent recursive inclusion
*/
#ifndef __SYSTEM_STM32F10X_H
#define __SYSTEM_STM32F10X_H
#ifdef __cplusplus
extern "C" {
#endif
/** @addtogroup STM32F10x_System_Includes
* @{
*/
/**
* @}
*/
/** @addtogroup STM32F10x_System_Exported_types
* @{
*/
extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
/**
* @}
*/
/** @addtogroup STM32F10x_System_Exported_Constants
* @{
*/
/**
* @}
*/
/** @addtogroup STM32F10x_System_Exported_Macros
* @{
*/
/**
* @}
*/
/** @addtogroup STM32F10x_System_Exported_Functions
* @{
*/
extern void SystemInit(void);
extern void SystemCoreClockUpdate(void);
/**
* @}
*/
#ifdef __cplusplus
}
#endif
#endif /*__SYSTEM_STM32F10X_H */
/**
* @}
*/
/**
* @}
*/
/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/

View File

@ -1,97 +0,0 @@
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Debug MCU Configuration
// <o0.0> DBG_SLEEP
// <i> Debug Sleep Mode
// <i> 0: (FCLK=On, HCLK=Off) FCLK is clocked by the system clock as previously configured by the software while HCLK is disabled
// <i> 1: (FCLK=On, HCLK=On) HCLK is fed by the same clock that is provided to FCLK
// <o0.1> DBG_STOP
// <i> Debug Stop Mode
// <i> 0: (FCLK=Off, HCLK=Off) Clock controller disables all clocks
// <i> 1: (FCLK=On, HCLK=On) FCLK and HCLK are provided by the internal RC oscillator which remains active
// <o0.2> DBG_STANDBY
// <i> Debug Standby Mode
// <i> 0: (FCLK=Off, HCLK=Off) The whole digital part is unpowered.
// <i> 1: (FCLK=On, HCLK=On) Digital part is powered and FCLK and HCLK are provided by the internal RC oscillator which remains active
// <o0.8> DBG_IWDG_STOP
// <i> Debug independent watchdog stopped when core is halted
// <i> 0: The watchdog counter clock continues even if the core is halted
// <i> 1: The watchdog counter clock is stopped when the core is halted
// <o0.9> DBG_WWDG_STOP
// <i> Debug window watchdog stopped when core is halted
// <i> 0: The window watchdog counter clock continues even if the core is halted
// <i> 1: The window watchdog counter clock is stopped when the core is halted
// <o0.10> DBG_TIM1_STOP
// <i> Timer 1 counter stopped when core is halted
// <i> 0: The clock of the involved Timer Counter is fed even if the core is halted
// <i> 1: The clock of the involved Timer counter is stopped when the core is halted
// <o0.11> DBG_TIM2_STOP
// <i> Timer 2 counter stopped when core is halted
// <i> 0: The clock of the involved Timer Counter is fed even if the core is halted
// <i> 1: The clock of the involved Timer counter is stopped when the core is halted
// <o0.12> DBG_TIM3_STOP
// <i> Timer 3 counter stopped when core is halted
// <i> 0: The clock of the involved Timer Counter is fed even if the core is halted
// <i> 1: The clock of the involved Timer counter is stopped when the core is halted
// <o0.13> DBG_TIM4_STOP
// <i> Timer 4 counter stopped when core is halted
// <i> 0: The clock of the involved Timer Counter is fed even if the core is halted
// <i> 1: The clock of the involved Timer counter is stopped when the core is halted
// <o0.14> DBG_CAN1_STOP
// <i> Debug CAN1 stopped when Core is halted
// <i> 0: Same behavior as in normal mode
// <i> 1: CAN1 receive registers are frozen
// <o0.15> DBG_I2C1_SMBUS_TIMEOUT
// <i> I2C1 SMBUS timeout mode stopped when Core is halted
// <i> 0: Same behavior as in normal mode
// <i> 1: The SMBUS timeout is frozen
// <o0.16> DBG_I2C2_SMBUS_TIMEOUT
// <i> I2C2 SMBUS timeout mode stopped when Core is halted
// <i> 0: Same behavior as in normal mode
// <i> 1: The SMBUS timeout is frozen
// <o0.17> DBG_TIM8_STOP
// <i> Timer 8 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.18> DBG_TIM5_STOP
// <i> Timer 5 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.19> DBG_TIM6_STOP
// <i> Timer 6 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.20> DBG_TIM7_STOP
// <i> Timer 7 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.21> DBG_CAN2_STOP
// <i> Debug CAN2 stopped when Core is halted
// <i> 0: Same behavior as in normal mode
// <i> 1: CAN2 receive registers are frozen
// <o0.25> DBG_TIM12_STOP
// <i> Timer 12 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.26> DBG_TIM13_STOP
// <i> Timer 13 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.27> DBG_TIM14_STOP
// <i> Timer 14 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.28> DBG_TIM9_STOP
// <i> Timer 9 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.29> DBG_TIM10_STOP
// <i> Timer 10 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.30> DBG_TIM11_STOP
// <i> Timer 11 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// </h>
DbgMCU_CR = 0x00000007;
// <<< end of configuration section >>>

View File

@ -1,36 +0,0 @@
// File: STM32F101_102_103_105_107.dbgconf
// Version: 1.0.0
// Note: refer to STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx Reference manual (RM0008)
// STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx datasheets
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Debug MCU configuration register (DBGMCU_CR)
// <i> Reserved bits must be kept at reset value
// <o.30> DBG_TIM11_STOP <i> TIM11 counter stopped when core is halted
// <o.29> DBG_TIM10_STOP <i> TIM10 counter stopped when core is halted
// <o.28> DBG_TIM9_STOP <i> TIM9 counter stopped when core is halted
// <o.27> DBG_TIM14_STOP <i> TIM14 counter stopped when core is halted
// <o.26> DBG_TIM13_STOP <i> TIM13 counter stopped when core is halted
// <o.25> DBG_TIM12_STOP <i> TIM12 counter stopped when core is halted
// <o.21> DBG_CAN2_STOP <i> Debug CAN2 stopped when core is halted
// <o.20> DBG_TIM7_STOP <i> TIM7 counter stopped when core is halted
// <o.19> DBG_TIM6_STOP <i> TIM6 counter stopped when core is halted
// <o.18> DBG_TIM5_STOP <i> TIM5 counter stopped when core is halted
// <o.17> DBG_TIM8_STOP <i> TIM8 counter stopped when core is halted
// <o.16> DBG_I2C2_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
// <o.15> DBG_I2C1_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
// <o.14> DBG_CAN1_STOP <i> Debug CAN1 stopped when Core is halted
// <o.13> DBG_TIM4_STOP <i> TIM4 counter stopped when core is halted
// <o.12> DBG_TIM3_STOP <i> TIM3 counter stopped when core is halted
// <o.11> DBG_TIM2_STOP <i> TIM2 counter stopped when core is halted
// <o.10> DBG_TIM1_STOP <i> TIM1 counter stopped when core is halted
// <o.9> DBG_WWDG_STOP <i> Debug window watchdog stopped when core is halted
// <o.8> DBG_IWDG_STOP <i> Debug independent watchdog stopped when core is halted
// <o.2> DBG_STANDBY <i> Debug standby mode
// <o.1> DBG_STOP <i> Debug stop mode
// <o.0> DBG_SLEEP <i> Debug sleep mode
// </h>
DbgMCU_CR = 0x00000007;
// <<< end of configuration section >>>

View File

@ -1,36 +0,0 @@
// File: STM32F101_102_103_105_107.dbgconf
// Version: 1.0.0
// Note: refer to STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx Reference manual (RM0008)
// STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx datasheets
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Debug MCU configuration register (DBGMCU_CR)
// <i> Reserved bits must be kept at reset value
// <o.30> DBG_TIM11_STOP <i> TIM11 counter stopped when core is halted
// <o.29> DBG_TIM10_STOP <i> TIM10 counter stopped when core is halted
// <o.28> DBG_TIM9_STOP <i> TIM9 counter stopped when core is halted
// <o.27> DBG_TIM14_STOP <i> TIM14 counter stopped when core is halted
// <o.26> DBG_TIM13_STOP <i> TIM13 counter stopped when core is halted
// <o.25> DBG_TIM12_STOP <i> TIM12 counter stopped when core is halted
// <o.21> DBG_CAN2_STOP <i> Debug CAN2 stopped when core is halted
// <o.20> DBG_TIM7_STOP <i> TIM7 counter stopped when core is halted
// <o.19> DBG_TIM6_STOP <i> TIM6 counter stopped when core is halted
// <o.18> DBG_TIM5_STOP <i> TIM5 counter stopped when core is halted
// <o.17> DBG_TIM8_STOP <i> TIM8 counter stopped when core is halted
// <o.16> DBG_I2C2_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
// <o.15> DBG_I2C1_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
// <o.14> DBG_CAN1_STOP <i> Debug CAN1 stopped when Core is halted
// <o.13> DBG_TIM4_STOP <i> TIM4 counter stopped when core is halted
// <o.12> DBG_TIM3_STOP <i> TIM3 counter stopped when core is halted
// <o.11> DBG_TIM2_STOP <i> TIM2 counter stopped when core is halted
// <o.10> DBG_TIM1_STOP <i> TIM1 counter stopped when core is halted
// <o.9> DBG_WWDG_STOP <i> Debug window watchdog stopped when core is halted
// <o.8> DBG_IWDG_STOP <i> Debug independent watchdog stopped when core is halted
// <o.2> DBG_STANDBY <i> Debug standby mode
// <o.1> DBG_STOP <i> Debug stop mode
// <o.0> DBG_SLEEP <i> Debug sleep mode
// </h>
DbgMCU_CR = 0x00000007;
// <<< end of configuration section >>>

View File

@ -1,97 +0,0 @@
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Debug MCU Configuration
// <o0.0> DBG_SLEEP
// <i> Debug Sleep Mode
// <i> 0: (FCLK=On, HCLK=Off) FCLK is clocked by the system clock as previously configured by the software while HCLK is disabled
// <i> 1: (FCLK=On, HCLK=On) HCLK is fed by the same clock that is provided to FCLK
// <o0.1> DBG_STOP
// <i> Debug Stop Mode
// <i> 0: (FCLK=Off, HCLK=Off) Clock controller disables all clocks
// <i> 1: (FCLK=On, HCLK=On) FCLK and HCLK are provided by the internal RC oscillator which remains active
// <o0.2> DBG_STANDBY
// <i> Debug Standby Mode
// <i> 0: (FCLK=Off, HCLK=Off) The whole digital part is unpowered.
// <i> 1: (FCLK=On, HCLK=On) Digital part is powered and FCLK and HCLK are provided by the internal RC oscillator which remains active
// <o0.8> DBG_IWDG_STOP
// <i> Debug independent watchdog stopped when core is halted
// <i> 0: The watchdog counter clock continues even if the core is halted
// <i> 1: The watchdog counter clock is stopped when the core is halted
// <o0.9> DBG_WWDG_STOP
// <i> Debug window watchdog stopped when core is halted
// <i> 0: The window watchdog counter clock continues even if the core is halted
// <i> 1: The window watchdog counter clock is stopped when the core is halted
// <o0.10> DBG_TIM1_STOP
// <i> Timer 1 counter stopped when core is halted
// <i> 0: The clock of the involved Timer Counter is fed even if the core is halted
// <i> 1: The clock of the involved Timer counter is stopped when the core is halted
// <o0.11> DBG_TIM2_STOP
// <i> Timer 2 counter stopped when core is halted
// <i> 0: The clock of the involved Timer Counter is fed even if the core is halted
// <i> 1: The clock of the involved Timer counter is stopped when the core is halted
// <o0.12> DBG_TIM3_STOP
// <i> Timer 3 counter stopped when core is halted
// <i> 0: The clock of the involved Timer Counter is fed even if the core is halted
// <i> 1: The clock of the involved Timer counter is stopped when the core is halted
// <o0.13> DBG_TIM4_STOP
// <i> Timer 4 counter stopped when core is halted
// <i> 0: The clock of the involved Timer Counter is fed even if the core is halted
// <i> 1: The clock of the involved Timer counter is stopped when the core is halted
// <o0.14> DBG_CAN1_STOP
// <i> Debug CAN1 stopped when Core is halted
// <i> 0: Same behavior as in normal mode
// <i> 1: CAN1 receive registers are frozen
// <o0.15> DBG_I2C1_SMBUS_TIMEOUT
// <i> I2C1 SMBUS timeout mode stopped when Core is halted
// <i> 0: Same behavior as in normal mode
// <i> 1: The SMBUS timeout is frozen
// <o0.16> DBG_I2C2_SMBUS_TIMEOUT
// <i> I2C2 SMBUS timeout mode stopped when Core is halted
// <i> 0: Same behavior as in normal mode
// <i> 1: The SMBUS timeout is frozen
// <o0.17> DBG_TIM8_STOP
// <i> Timer 8 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.18> DBG_TIM5_STOP
// <i> Timer 5 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.19> DBG_TIM6_STOP
// <i> Timer 6 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.20> DBG_TIM7_STOP
// <i> Timer 7 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.21> DBG_CAN2_STOP
// <i> Debug CAN2 stopped when Core is halted
// <i> 0: Same behavior as in normal mode
// <i> 1: CAN2 receive registers are frozen
// <o0.25> DBG_TIM12_STOP
// <i> Timer 12 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.26> DBG_TIM13_STOP
// <i> Timer 13 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.27> DBG_TIM14_STOP
// <i> Timer 14 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.28> DBG_TIM9_STOP
// <i> Timer 9 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.29> DBG_TIM10_STOP
// <i> Timer 10 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.30> DBG_TIM11_STOP
// <i> Timer 11 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// </h>
DbgMCU_CR = 0x00000007;
// <<< end of configuration section >>>

View File

@ -1,36 +0,0 @@
// File: STM32F101_102_103_105_107.dbgconf
// Version: 1.0.0
// Note: refer to STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx Reference manual (RM0008)
// STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx datasheets
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Debug MCU configuration register (DBGMCU_CR)
// <i> Reserved bits must be kept at reset value
// <o.30> DBG_TIM11_STOP <i> TIM11 counter stopped when core is halted
// <o.29> DBG_TIM10_STOP <i> TIM10 counter stopped when core is halted
// <o.28> DBG_TIM9_STOP <i> TIM9 counter stopped when core is halted
// <o.27> DBG_TIM14_STOP <i> TIM14 counter stopped when core is halted
// <o.26> DBG_TIM13_STOP <i> TIM13 counter stopped when core is halted
// <o.25> DBG_TIM12_STOP <i> TIM12 counter stopped when core is halted
// <o.21> DBG_CAN2_STOP <i> Debug CAN2 stopped when core is halted
// <o.20> DBG_TIM7_STOP <i> TIM7 counter stopped when core is halted
// <o.19> DBG_TIM6_STOP <i> TIM6 counter stopped when core is halted
// <o.18> DBG_TIM5_STOP <i> TIM5 counter stopped when core is halted
// <o.17> DBG_TIM8_STOP <i> TIM8 counter stopped when core is halted
// <o.16> DBG_I2C2_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
// <o.15> DBG_I2C1_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
// <o.14> DBG_CAN1_STOP <i> Debug CAN1 stopped when Core is halted
// <o.13> DBG_TIM4_STOP <i> TIM4 counter stopped when core is halted
// <o.12> DBG_TIM3_STOP <i> TIM3 counter stopped when core is halted
// <o.11> DBG_TIM2_STOP <i> TIM2 counter stopped when core is halted
// <o.10> DBG_TIM1_STOP <i> TIM1 counter stopped when core is halted
// <o.9> DBG_WWDG_STOP <i> Debug window watchdog stopped when core is halted
// <o.8> DBG_IWDG_STOP <i> Debug independent watchdog stopped when core is halted
// <o.2> DBG_STANDBY <i> Debug standby mode
// <o.1> DBG_STOP <i> Debug stop mode
// <o.0> DBG_SLEEP <i> Debug sleep mode
// </h>
DbgMCU_CR = 0x00000007;
// <<< end of configuration section >>>

View File

@ -1,97 +0,0 @@
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Debug MCU Configuration
// <o0.0> DBG_SLEEP
// <i> Debug Sleep Mode
// <i> 0: (FCLK=On, HCLK=Off) FCLK is clocked by the system clock as previously configured by the software while HCLK is disabled
// <i> 1: (FCLK=On, HCLK=On) HCLK is fed by the same clock that is provided to FCLK
// <o0.1> DBG_STOP
// <i> Debug Stop Mode
// <i> 0: (FCLK=Off, HCLK=Off) Clock controller disables all clocks
// <i> 1: (FCLK=On, HCLK=On) FCLK and HCLK are provided by the internal RC oscillator which remains active
// <o0.2> DBG_STANDBY
// <i> Debug Standby Mode
// <i> 0: (FCLK=Off, HCLK=Off) The whole digital part is unpowered.
// <i> 1: (FCLK=On, HCLK=On) Digital part is powered and FCLK and HCLK are provided by the internal RC oscillator which remains active
// <o0.8> DBG_IWDG_STOP
// <i> Debug independent watchdog stopped when core is halted
// <i> 0: The watchdog counter clock continues even if the core is halted
// <i> 1: The watchdog counter clock is stopped when the core is halted
// <o0.9> DBG_WWDG_STOP
// <i> Debug window watchdog stopped when core is halted
// <i> 0: The window watchdog counter clock continues even if the core is halted
// <i> 1: The window watchdog counter clock is stopped when the core is halted
// <o0.10> DBG_TIM1_STOP
// <i> Timer 1 counter stopped when core is halted
// <i> 0: The clock of the involved Timer Counter is fed even if the core is halted
// <i> 1: The clock of the involved Timer counter is stopped when the core is halted
// <o0.11> DBG_TIM2_STOP
// <i> Timer 2 counter stopped when core is halted
// <i> 0: The clock of the involved Timer Counter is fed even if the core is halted
// <i> 1: The clock of the involved Timer counter is stopped when the core is halted
// <o0.12> DBG_TIM3_STOP
// <i> Timer 3 counter stopped when core is halted
// <i> 0: The clock of the involved Timer Counter is fed even if the core is halted
// <i> 1: The clock of the involved Timer counter is stopped when the core is halted
// <o0.13> DBG_TIM4_STOP
// <i> Timer 4 counter stopped when core is halted
// <i> 0: The clock of the involved Timer Counter is fed even if the core is halted
// <i> 1: The clock of the involved Timer counter is stopped when the core is halted
// <o0.14> DBG_CAN1_STOP
// <i> Debug CAN1 stopped when Core is halted
// <i> 0: Same behavior as in normal mode
// <i> 1: CAN1 receive registers are frozen
// <o0.15> DBG_I2C1_SMBUS_TIMEOUT
// <i> I2C1 SMBUS timeout mode stopped when Core is halted
// <i> 0: Same behavior as in normal mode
// <i> 1: The SMBUS timeout is frozen
// <o0.16> DBG_I2C2_SMBUS_TIMEOUT
// <i> I2C2 SMBUS timeout mode stopped when Core is halted
// <i> 0: Same behavior as in normal mode
// <i> 1: The SMBUS timeout is frozen
// <o0.17> DBG_TIM8_STOP
// <i> Timer 8 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.18> DBG_TIM5_STOP
// <i> Timer 5 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.19> DBG_TIM6_STOP
// <i> Timer 6 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.20> DBG_TIM7_STOP
// <i> Timer 7 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.21> DBG_CAN2_STOP
// <i> Debug CAN2 stopped when Core is halted
// <i> 0: Same behavior as in normal mode
// <i> 1: CAN2 receive registers are frozen
// <o0.25> DBG_TIM12_STOP
// <i> Timer 12 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.26> DBG_TIM13_STOP
// <i> Timer 13 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.27> DBG_TIM14_STOP
// <i> Timer 14 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.28> DBG_TIM9_STOP
// <i> Timer 9 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.29> DBG_TIM10_STOP
// <i> Timer 10 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// <o0.30> DBG_TIM11_STOP
// <i> Timer 11 counter stopped when core is halted
// <i> 0: The clock of the involved timer counter is fed even if the core is halted, and the outputs behave normally.
// <i> 1: The clock of the involved timer counter is stopped when the core is halted, and the outputs are disabled (as if there were an emergency stop in response to a break event).
// </h>
DbgMCU_CR = 0x00000007;
// <<< end of configuration section >>>

View File

@ -1,36 +0,0 @@
// File: STM32F101_102_103_105_107.dbgconf
// Version: 1.0.0
// Note: refer to STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx Reference manual (RM0008)
// STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx datasheets
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Debug MCU configuration register (DBGMCU_CR)
// <i> Reserved bits must be kept at reset value
// <o.30> DBG_TIM11_STOP <i> TIM11 counter stopped when core is halted
// <o.29> DBG_TIM10_STOP <i> TIM10 counter stopped when core is halted
// <o.28> DBG_TIM9_STOP <i> TIM9 counter stopped when core is halted
// <o.27> DBG_TIM14_STOP <i> TIM14 counter stopped when core is halted
// <o.26> DBG_TIM13_STOP <i> TIM13 counter stopped when core is halted
// <o.25> DBG_TIM12_STOP <i> TIM12 counter stopped when core is halted
// <o.21> DBG_CAN2_STOP <i> Debug CAN2 stopped when core is halted
// <o.20> DBG_TIM7_STOP <i> TIM7 counter stopped when core is halted
// <o.19> DBG_TIM6_STOP <i> TIM6 counter stopped when core is halted
// <o.18> DBG_TIM5_STOP <i> TIM5 counter stopped when core is halted
// <o.17> DBG_TIM8_STOP <i> TIM8 counter stopped when core is halted
// <o.16> DBG_I2C2_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
// <o.15> DBG_I2C1_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
// <o.14> DBG_CAN1_STOP <i> Debug CAN1 stopped when Core is halted
// <o.13> DBG_TIM4_STOP <i> TIM4 counter stopped when core is halted
// <o.12> DBG_TIM3_STOP <i> TIM3 counter stopped when core is halted
// <o.11> DBG_TIM2_STOP <i> TIM2 counter stopped when core is halted
// <o.10> DBG_TIM1_STOP <i> TIM1 counter stopped when core is halted
// <o.9> DBG_WWDG_STOP <i> Debug window watchdog stopped when core is halted
// <o.8> DBG_IWDG_STOP <i> Debug independent watchdog stopped when core is halted
// <o.2> DBG_STANDBY <i> Debug standby mode
// <o.1> DBG_STOP <i> Debug stop mode
// <o.0> DBG_SLEEP <i> Debug sleep mode
// </h>
DbgMCU_CR = 0x00000007;
// <<< end of configuration section >>>

View File

@ -1,398 +0,0 @@
T1F54 2501:289 SEGGER J-Link V6.32i Log File (0001ms, 16315ms total)
T1F54 2501:289 DLL Compiled: Jul 24 2018 15:19:55 (0001ms, 16315ms total)
T1F54 2501:289 Logging started @ 2020-09-23 14:37 (0001ms, 16315ms total)
T1F54 2501:290 JLINK_SetWarnOutHandler(...) (0000ms, 16315ms total)
T1F54 2501:290 JLINK_OpenEx(...)
Firmware: J-Link ARM V8 compiled Nov 28 2014 13:44:46
Hardware: V8.00
S/N: 20100214
Feature(s): RDI,FlashDL,FlashBP,JFlash,GDBFull
TELNET listener socket opened on port 19021WEBSRV
Starting webserver (0026ms, 16341ms total)
T1F54 2501:290 WEBSRV Webserver running on local port 19080 (0026ms, 16341ms total)
T1F54 2501:290 returns O.K. (0026ms, 16341ms total)
T1F54 2501:316 JLINK_GetEmuCaps() returns 0xB9FF7BBF (0000ms, 16341ms total)
T1F54 2501:316 JLINK_TIF_GetAvailable(...) (0001ms, 16342ms total)
T1F54 2501:317 JLINK_SetErrorOutHandler(...) (0000ms, 16342ms total)
T1F54 2501:317 JLINK_ExecCommand("ProjectFile = "F:\code\STM32\1-led\MDK-ARM\JLinkSettings.ini"", ...). returns 0x00 (0001ms, 16343ms total)
T1F54 2501:331 JLINK_ExecCommand("Device = STM32F103RC", ...). Device "STM32F103RC" selected. returns 0x00 (0008ms, 16351ms total)
T1F54 2501:339 JLINK_ExecCommand("DisableConnectionTimeout", ...). returns 0x01 (0000ms, 16351ms total)
T1F54 2501:339 JLINK_GetHardwareVersion() returns 0x13880 (0000ms, 16351ms total)
T1F54 2501:339 JLINK_GetDLLVersion() returns 63209 (0000ms, 16351ms total)
T1F54 2501:339 JLINK_GetFirmwareString(...) (0000ms, 16351ms total)
T1F54 2501:357 JLINK_GetDLLVersion() returns 63209 (0000ms, 16351ms total)
T1F54 2501:357 JLINK_GetCompileDateTime() (0000ms, 16351ms total)
T1F54 2501:373 JLINK_GetFirmwareString(...) (0001ms, 16352ms total)
T1F54 2501:402 JLINK_GetHardwareVersion() returns 0x13880 (0000ms, 16352ms total)
T1F54 2501:435 JLINK_TIF_Select(JLINKARM_TIF_JTAG) returns 0x00 (0001ms, 16353ms total)
T1F54 2501:436 JLINK_SetSpeed(50000) (0000ms, 16353ms total)
T1F54 2501:436 JLINK_GetIdData(...) >0x2F8 JTAG>TotalIRLen = 9, IRPrint = 0x0011 >0x30 JTAG> >0x50 JTAG>JTAG chain detection found 2 devices: #0 Id: 0x3BA00477, IRLen: 04, CoreSight JTAG-DP #1 Id: 0x06414041, IRLen: 05, STM32 Boundary Scan >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x30 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG>
>0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x40 JTAG> >0x2F8 JTAG>TotalIRLen = 9, IRPrint = 0x0011 >0x30 JTAG> >0x50 JTAG>JTAG chain detection found 2 devices: #0 Id: 0x3BA00477, IRLen: 04, CoreSight JTAG-DP #1 Id: 0x06414041, IRLen: 05, STM32 Boundary ScanScanning AP map to find all available APs >0x80 JTAG> >0x50 JTAG> >0x40 JTAG> >0x40 JTAG> >0x50 JTAG> >0x40 JTAG>AP[1]: Stopped AP scan as end of AP map has been reachedAP[0]: AHB-AP (IDR: 0x14770011)
Iterating through AP map to find AHB-AP to use >0x80 JTAG> >0x50 JTAG> >0x50 JTAG> >0x80 JTAG> >0x40 JTAG> >0x30 JTAG> >0x40 JTAG> >0x40 JTAG>AP[0]: Core foundAP[0]: AHB-AP ROM base: 0xE00FF000 >0x40 JTAG> >0x40 JTAG> >0x30 JTAG> >0x40 JTAG> >0x40 JTAG>CPUID register: 0x411FC231. Implementer code: 0x41 (ARM)Found Cortex-M3 r1p1, Little endian. -- Max. mem block: 0x00002408 -- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- CPU_WriteMem(4 bytes @ 0xE000EDF0) -- CPU_ReadMem(4 bytes @ 0xE0002000)
FPUnit: 6 code (BP) slots and 2 literal slots -- CPU_ReadMem(4 bytes @ 0xE000EDFC) -- CPU_WriteMem(4 bytes @ 0xE000EDFC) -- CPU_ReadMem(4 bytes @ 0xE0001000) -- CPU_WriteMem(4 bytes @ 0xE0001000) -- CPU_ReadMem(4 bytes @ 0xE000ED88) -- CPU_WriteMem(4 bytes @ 0xE000ED88) -- CPU_ReadMem(4 bytes @ 0xE000ED88) -- CPU_WriteMem(4 bytes @ 0xE000ED88)CoreSight components:ROMTbl[0] @ E00FF000 -- CPU_ReadMem(16 bytes @ 0xE00FF000) -- CPU_ReadMem(16 bytes @ 0xE000EFF0) -- CPU_ReadMem(16 bytes @ 0xE000EFE0)
ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 001BB000 SCS -- CPU_ReadMem(16 bytes @ 0xE0001FF0) -- CPU_ReadMem(16 bytes @ 0xE0001FE0)ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 001BB002 DWT -- CPU_ReadMem(16 bytes @ 0xE0002FF0) -- CPU_ReadMem(16 bytes @ 0xE0002FE0)ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 000BB003 FPB -- CPU_ReadMem(16 bytes @ 0xE0000FF0) -- CPU_ReadMem(16 bytes @ 0xE0000FE0)ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 001BB001 ITM -- CPU_ReadMem(16 bytes @ 0xE00FF010)
-- CPU_ReadMem(16 bytes @ 0xE0040FF0) -- CPU_ReadMem(16 bytes @ 0xE0040FE0)ROMTbl[0][4]: E0040000, CID: B105900D, PID: 001BB923 TPIU-Lite -- CPU_ReadMem(16 bytes @ 0xE0041FF0) -- CPU_ReadMem(16 bytes @ 0xE0041FE0)ROMTbl[0][5]: E0041000, CID: B105900D, PID: 101BB924 ETM-M3 ScanLen=9 NumDevices=2 aId[0]=0x3BA00477 aIrRead[0]=0 aScanLen[0]=0 aScanRead[0]=0 (0100ms, 16453ms total)
T1F54 2501:536 JLINK_JTAG_GetDeviceID(DeviceIndex = 0) returns 0x3BA00477 (0000ms, 16453ms total)
T1F54 2501:536 JLINK_JTAG_GetDeviceInfo(DeviceIndex = 0) returns 0x00 (0000ms, 16453ms total)
T1F54 2501:536 JLINK_JTAG_GetDeviceID(DeviceIndex = 1) returns 0x6414041 (0000ms, 16453ms total)
T1F54 2501:536 JLINK_JTAG_GetDeviceInfo(DeviceIndex = 1) returns 0x00 (0000ms, 16453ms total)
T1F54 2501:536 JLINK_GetDLLVersion() returns 63209 (0000ms, 16453ms total)
T1F54 2501:536 JLINK_CORE_GetFound() returns 0x30000FF (0000ms, 16453ms total)
T1F54 2501:536 JLINK_GetDebugInfo(0x100 = JLINKARM_ROM_TABLE_ADDR_INDEX) -- Value=0xE00FF000 returns 0x00 (0000ms, 16453ms total)
T1F54 2501:540 JLINK_GetDebugInfo(0x100 = JLINKARM_ROM_TABLE_ADDR_INDEX) -- Value=0xE00FF000 returns 0x00 (0000ms, 16453ms total)
T1F54 2501:540 JLINK_GetDebugInfo(0x101 = JLINKARM_DEBUG_INFO_ETM_ADDR_INDEX) -- Value=0xE0041000 returns 0x00 (0000ms, 16453ms total)
T1F54 2501:540 JLINK_ReadMemEx(0xE0041FD0, 0x0020 Bytes, ..., Flags = 0x02000004) -- CPU_ReadMem(32 bytes @ 0xE0041FD0) - Data: 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... returns 0x20 (0000ms, 16453ms total)
T1F54 2501:540 JLINK_GetDebugInfo(0x102 = JLINKARM_DEBUG_INFO_MTB_ADDR_INDEX) -- Value=0x00000000 returns 0x00 (0000ms, 16453ms total)
T1F54 2501:540 JLINK_GetDebugInfo(0x103 = JLINKARM_DEBUG_INFO_TPIU_ADDR_INDEX) -- Value=0xE0040000 returns 0x00 (0000ms, 16453ms total)
T1F54 2501:540 JLINK_GetDebugInfo(0x104 = JLINKARM_DEBUG_INFO_ITM_ADDR_INDEX) -- Value=0xE0000000 returns 0x00 (0000ms, 16453ms total)
T1F54 2501:540 JLINK_GetDebugInfo(0x105 = JLINKARM_DEBUG_INFO_DWT_ADDR_INDEX) -- Value=0xE0001000 returns 0x00 (0000ms, 16453ms total)
T1F54 2501:540 JLINK_GetDebugInfo(0x106 = JLINKARM_DEBUG_INFO_FPB_ADDR_INDEX) -- Value=0xE0002000 returns 0x00 (0000ms, 16453ms total)
T1F54 2501:540 JLINK_GetDebugInfo(0x107 = JLINKARM_DEBUG_INFO_NVIC_ADDR_INDEX) -- Value=0xE000E000 returns 0x00 (0000ms, 16453ms total)
T1F54 2501:540 JLINK_GetDebugInfo(0x10C = JLINKARM_DEBUG_INFO_DBG_ADDR_INDEX) -- Value=0xE000EDF0 returns 0x00 (0000ms, 16453ms total)
T1F54 2501:540 JLINK_GetDebugInfo(0x01 = Unknown) -- Value=0x00000000 returns 0x00 (0000ms, 16453ms total)
T1F54 2501:540 JLINK_ReadMemU32(0xE000ED00, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000ED00) - Data: 31 C2 1F 41 returns 0x01 (0001ms, 16454ms total)
T1F54 2501:541 JLINK_GetDebugInfo(0x10F = JLINKARM_DEBUG_INFO_HAS_CORTEX_M_SECURITY_EXT_INDEX) -- Value=0x00000000 returns 0x00 (0000ms, 16454ms total)
T1F54 2501:541 JLINK_SetResetType(JLINKARM_CM3_RESET_TYPE_NORMAL) returns JLINKARM_CM3_RESET_TYPE_NORMAL (0000ms, 16454ms total)
T1F54 2501:541 JLINK_Reset() -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000EDF0) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000EDFC)Reset: Halt core after reset via DEMCR.VC_CORERESET.Reset: Reset device via AIRCR.SYSRESETREQ. -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000ED0C) -- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000EDF0) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000EDFC)
-- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- CPU_WriteMem(4 bytes @ 0xE000EDFC) -- CPU_WriteMem(4 bytes @ 0xE0001028) -- CPU_WriteMem(4 bytes @ 0xE0001038) -- CPU_WriteMem(4 bytes @ 0xE0001048) -- CPU_WriteMem(4 bytes @ 0xE0001058) -- CPU_WriteMem(4 bytes @ 0xE0002000) -- CPU_ReadMem(4 bytes @ 0xE000EDFC) -- CPU_ReadMem(4 bytes @ 0xE0001000) (0069ms, 16523ms total)
T1F54 2501:610 JLINK_Halt() returns 0x00 (0000ms, 16523ms total)
T1F54 2501:610 JLINK_ReadMemU32(0xE000EDF0, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000EDF0) - Data: 03 00 03 00 returns 0x01 (0001ms, 16524ms total)
T1F54 2501:611 JLINK_WriteU32(0xE000EDF0, 0xA05F0003) -- CPU_WriteMem(4 bytes @ 0xE000EDF0) returns 0x00 (0000ms, 16524ms total)
T1F54 2501:611 JLINK_WriteU32(0xE000EDFC, 0x01000000) -- CPU_WriteMem(4 bytes @ 0xE000EDFC) returns 0x00 (0000ms, 16524ms total)
T1F54 2501:624 JLINK_GetHWStatus(...) returns 0x00 (0000ms, 16524ms total)
T1F54 2501:637 JLINK_GetNumBPUnits(Type = 0xFFFFFF00) returns 0x06 (0000ms, 16524ms total)
T1F54 2501:637 JLINK_GetNumBPUnits(Type = 0xF0) returns 0x2000 (0000ms, 16524ms total)
T1F54 2501:637 JLINK_GetNumWPUnits() returns 0x04 (0000ms, 16524ms total)
T1F54 2501:643 JLINK_GetSpeed() returns 0x2EE0 (0000ms, 16524ms total)
T1F54 2501:650 JLINK_ReadMemU32(0xE000E004, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000E004) - Data: 01 00 00 00 returns 0x01 (0000ms, 16524ms total)
T1F54 2501:650 JLINK_ReadMemU32(0xE000E004, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000E004) - Data: 01 00 00 00 returns 0x01 (0000ms, 16524ms total)
T1F54 2501:650 JLINK_WriteMemEx(0xE0001000, 0x001C Bytes, ..., Flags = 0x02000004) - Data: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... -- CPU_WriteMem(28 bytes @ 0xE0001000) returns 0x1C (0001ms, 16525ms total)
T1F54 2501:651 JLINK_Halt() returns 0x00 (0000ms, 16525ms total)
T1F54 2501:651 JLINK_IsHalted() returns TRUE (0000ms, 16525ms total)
T1F54 2501:655 JLINK_WriteMem(0x20000000, 0x0164 Bytes, ...) - Data: 00 BE 0A E0 0D 78 2D 06 68 40 08 24 40 00 00 D3 ... -- CPU_WriteMem(356 bytes @ 0x20000000) returns 0x164 (0003ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(R0, 0x08000000) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(R1, 0x00B71B00) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(R2, 0x00000001) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(R3, 0x00000000) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(R4, 0x00000000) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(R5, 0x00000000) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(R6, 0x00000000) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(R7, 0x00000000) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(R8, 0x00000000) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(R9, 0x20000160) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(R10, 0x00000000) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(R11, 0x00000000) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(R12, 0x00000000) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(R13 (SP), 0x20001000) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(R14, 0x20000001) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(R15 (PC), 0x20000038) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(XPSR, 0x01000000) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(MSP, 0x20001000) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(PSP, 0x20001000) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_WriteReg(CFBP, 0x00000000) returns 0x00 (0000ms, 16528ms total)
T1F54 2501:658 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -- CPU_ReadMem(2 bytes @ 0x20000000) returns 0x00000001 (0001ms, 16529ms total)
T1F54 2501:659 JLINK_Go() -- CPU_WriteMem(2 bytes @ 0x20000000) -- CPU_ReadMem(4 bytes @ 0xE0001000) -- CPU_WriteMem(4 bytes @ 0xE0002008) -- CPU_WriteMem(4 bytes @ 0xE000200C) -- CPU_WriteMem(4 bytes @ 0xE0002010) -- CPU_WriteMem(4 bytes @ 0xE0002014) -- CPU_WriteMem(4 bytes @ 0xE0002018) -- CPU_WriteMem(4 bytes @ 0xE000201C) -- CPU_WriteMem(4 bytes @ 0xE0001004) (0003ms, 16532ms total)
T1F54 2501:663 JLINK_IsHalted() -- CPU_ReadMem(2 bytes @ 0x20000000) returns TRUE (0001ms, 16533ms total)
T1F54 2501:664 JLINK_ReadReg(R15 (PC)) returns 0x20000000 (0000ms, 16532ms total)
T1F54 2501:664 JLINK_ClrBPEx(BPHandle = 0x00000001) returns 0x00 (0000ms, 16532ms total)
T1F54 2501:664 JLINK_ReadReg(R0) returns 0x00000000 (0000ms, 16532ms total)
T1F54 2501:664 JLINK_WriteReg(R0, 0x08000000) returns 0x00 (0000ms, 16532ms total)
T1F54 2501:664 JLINK_WriteReg(R1, 0x00000800) returns 0x00 (0000ms, 16532ms total)
T1F54 2501:664 JLINK_WriteReg(R2, 0x000000FF) returns 0x00 (0000ms, 16532ms total)
T1F54 2501:664 JLINK_WriteReg(R3, 0x00000000) returns 0x00 (0000ms, 16532ms total)
T1F54 2501:664 JLINK_WriteReg(R4, 0x00000000) returns 0x00 (0000ms, 16532ms total)
T1F54 2501:664 JLINK_WriteReg(R5, 0x00000000) returns 0x00 (0000ms, 16532ms total)
T1F54 2501:664 JLINK_WriteReg(R6, 0x00000000) returns 0x00 (0000ms, 16532ms total)
T1F54 2501:664 JLINK_WriteReg(R7, 0x00000000) returns 0x00 (0000ms, 16532ms total)
T1F54 2501:664 JLINK_WriteReg(R8, 0x00000000) returns 0x00 (0000ms, 16532ms total)
T1F54 2501:664 JLINK_WriteReg(R9, 0x20000160) returns 0x00 (0000ms, 16532ms total)
T1F54 2501:664 JLINK_WriteReg(R10, 0x00000000) returns 0x00 (0001ms, 16533ms total)
T1F54 2501:665 JLINK_WriteReg(R11, 0x00000000) returns 0x00 (0000ms, 16533ms total)
T1F54 2501:665 JLINK_WriteReg(R12, 0x00000000) returns 0x00 (0000ms, 16533ms total)
T1F54 2501:665 JLINK_WriteReg(R13 (SP), 0x20001000) returns 0x00 (0000ms, 16533ms total)
T1F54 2501:665 JLINK_WriteReg(R14, 0x20000001) returns 0x00 (0000ms, 16533ms total)
T1F54 2501:665 JLINK_WriteReg(R15 (PC), 0x20000020) returns 0x00 (0000ms, 16533ms total)
T1F54 2501:665 JLINK_WriteReg(XPSR, 0x01000000) returns 0x00 (0000ms, 16533ms total)
T1F54 2501:665 JLINK_WriteReg(MSP, 0x20001000) returns 0x00 (0000ms, 16533ms total)
T1F54 2501:665 JLINK_WriteReg(PSP, 0x20001000) returns 0x00 (0000ms, 16533ms total)
T1F54 2501:665 JLINK_WriteReg(CFBP, 0x00000000) returns 0x00 (0000ms, 16533ms total)
T1F54 2501:665 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) returns 0x00000002 (0000ms, 16533ms total)
T1F54 2501:665 JLINK_Go() -- CPU_ReadMem(4 bytes @ 0xE0001000) (0001ms, 16534ms total)
T1F54 2501:666 JLINK_IsHalted() -- CPU_ReadMem(2 bytes @ 0x20000000) returns TRUE (0002ms, 16536ms total)
T1F54 2501:668 JLINK_ReadReg(R15 (PC)) returns 0x20000000 (0000ms, 16534ms total)
T1F54 2501:668 JLINK_ClrBPEx(BPHandle = 0x00000002) returns 0x00 (0000ms, 16534ms total)
T1F54 2501:668 JLINK_ReadReg(R0) returns 0x00000001 (0000ms, 16534ms total)
T1F54 2501:668 JLINK_WriteReg(R0, 0x08000000) returns 0x00 (0000ms, 16534ms total)
T1F54 2501:668 JLINK_WriteReg(R1, 0x00000800) returns 0x00 (0000ms, 16534ms total)
T1F54 2501:668 JLINK_WriteReg(R2, 0x000000FF) returns 0x00 (0000ms, 16534ms total)
T1F54 2501:668 JLINK_WriteReg(R3, 0x00000000) returns 0x00 (0000ms, 16534ms total)
T1F54 2501:668 JLINK_WriteReg(R4, 0x00000000) returns 0x00 (0000ms, 16534ms total)
T1F54 2501:668 JLINK_WriteReg(R5, 0x00000000) returns 0x00 (0000ms, 16534ms total)
T1F54 2501:668 JLINK_WriteReg(R6, 0x00000000) returns 0x00 (0000ms, 16534ms total)
T1F54 2501:668 JLINK_WriteReg(R7, 0x00000000) returns 0x00 (0001ms, 16535ms total)
T1F54 2501:669 JLINK_WriteReg(R8, 0x00000000) returns 0x00 (0000ms, 16535ms total)
T1F54 2501:669 JLINK_WriteReg(R9, 0x20000160) returns 0x00 (0000ms, 16535ms total)
T1F54 2501:669 JLINK_WriteReg(R10, 0x00000000) returns 0x00 (0000ms, 16535ms total)
T1F54 2501:669 JLINK_WriteReg(R11, 0x00000000) returns 0x00 (0000ms, 16535ms total)
T1F54 2501:669 JLINK_WriteReg(R12, 0x00000000) returns 0x00 (0000ms, 16535ms total)
T1F54 2501:669 JLINK_WriteReg(R13 (SP), 0x20001000) returns 0x00 (0000ms, 16535ms total)
T1F54 2501:669 JLINK_WriteReg(R14, 0x20000001) returns 0x00 (0000ms, 16535ms total)
T1F54 2501:669 JLINK_WriteReg(R15 (PC), 0x200000B6) returns 0x00 (0000ms, 16535ms total)
T1F54 2501:669 JLINK_WriteReg(XPSR, 0x01000000) returns 0x00 (0000ms, 16535ms total)
T1F54 2501:669 JLINK_WriteReg(MSP, 0x20001000) returns 0x00 (0000ms, 16535ms total)
T1F54 2501:669 JLINK_WriteReg(PSP, 0x20001000) returns 0x00 (0000ms, 16535ms total)
T1F54 2501:669 JLINK_WriteReg(CFBP, 0x00000000) returns 0x00 (0000ms, 16535ms total)
T1F54 2501:669 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) returns 0x00000003 (0000ms, 16535ms total)
T1F54 2501:669 JLINK_Go() -- CPU_ReadMem(4 bytes @ 0xE0001000) (0001ms, 16536ms total)
T1F54 2501:670 JLINK_IsHalted() returns FALSE (0000ms, 16536ms total)
T1F54 2501:720 JLINK_IsHalted() -- CPU_ReadMem(2 bytes @ 0x20000000) returns TRUE (0002ms, 16538ms total)
T1F54 2501:722 JLINK_ReadReg(R15 (PC)) returns 0x20000000 (0000ms, 16536ms total)
T1F54 2501:722 JLINK_ClrBPEx(BPHandle = 0x00000003) returns 0x00 (0000ms, 16536ms total)
T1F54 2501:722 JLINK_ReadReg(R0) returns 0x00000000 (0000ms, 16536ms total)
T1F54 2501:722 JLINK_WriteReg(R0, 0x00000001) returns 0x00 (0000ms, 16536ms total)
T1F54 2501:722 JLINK_WriteReg(R1, 0x00000800) returns 0x00 (0000ms, 16536ms total)
T1F54 2501:722 JLINK_WriteReg(R2, 0x000000FF) returns 0x00 (0000ms, 16536ms total)
T1F54 2501:722 JLINK_WriteReg(R3, 0x00000000) returns 0x00 (0001ms, 16537ms total)
T1F54 2501:723 JLINK_WriteReg(R4, 0x00000000) returns 0x00 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_WriteReg(R5, 0x00000000) returns 0x00 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_WriteReg(R6, 0x00000000) returns 0x00 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_WriteReg(R7, 0x00000000) returns 0x00 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_WriteReg(R8, 0x00000000) returns 0x00 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_WriteReg(R9, 0x20000160) returns 0x00 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_WriteReg(R10, 0x00000000) returns 0x00 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_WriteReg(R11, 0x00000000) returns 0x00 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_WriteReg(R12, 0x00000000) returns 0x00 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_WriteReg(R13 (SP), 0x20001000) returns 0x00 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_WriteReg(R14, 0x20000001) returns 0x00 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_WriteReg(R15 (PC), 0x2000006A) returns 0x00 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_WriteReg(XPSR, 0x01000000) returns 0x00 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_WriteReg(MSP, 0x20001000) returns 0x00 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_WriteReg(PSP, 0x20001000) returns 0x00 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_WriteReg(CFBP, 0x00000000) returns 0x00 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) returns 0x00000004 (0000ms, 16537ms total)
T1F54 2501:723 JLINK_Go() -- CPU_ReadMem(4 bytes @ 0xE0001000) (0001ms, 16538ms total)
T1F54 2501:724 JLINK_IsHalted() -- CPU_ReadMem(2 bytes @ 0x20000000) returns TRUE (0002ms, 16540ms total)
T1F54 2501:726 JLINK_ReadReg(R15 (PC)) returns 0x20000000 (0000ms, 16538ms total)
T1F54 2501:726 JLINK_ClrBPEx(BPHandle = 0x00000004) returns 0x00 (0000ms, 16538ms total)
T1F54 2501:726 JLINK_ReadReg(R0) returns 0x00000000 (0000ms, 16538ms total)
T1F54 2501:789 JLINK_WriteMem(0x20000000, 0x0164 Bytes, ...) - Data: 00 BE 0A E0 0D 78 2D 06 68 40 08 24 40 00 00 D3 ... -- CPU_WriteMem(356 bytes @ 0x20000000) returns 0x164 (0002ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(R0, 0x08000000) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(R1, 0x00B71B00) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(R2, 0x00000002) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(R3, 0x00000000) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(R4, 0x00000000) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(R5, 0x00000000) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(R6, 0x00000000) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(R7, 0x00000000) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(R8, 0x00000000) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(R9, 0x20000160) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(R10, 0x00000000) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(R11, 0x00000000) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(R12, 0x00000000) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(R13 (SP), 0x20001000) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(R14, 0x20000001) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(R15 (PC), 0x20000038) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(XPSR, 0x01000000) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(MSP, 0x20001000) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(PSP, 0x20001000) returns 0x00 (0000ms, 16540ms total)
T1F54 2501:791 JLINK_WriteReg(CFBP, 0x00000000) returns 0x00 (0001ms, 16541ms total)
T1F54 2501:792 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -- CPU_ReadMem(2 bytes @ 0x20000000) returns 0x00000005 (0000ms, 16541ms total)
T1F54 2501:792 JLINK_Go() -- CPU_WriteMem(2 bytes @ 0x20000000) -- CPU_ReadMem(4 bytes @ 0xE0001000) (0001ms, 16542ms total)
T1F54 2501:793 JLINK_IsHalted() -- CPU_ReadMem(2 bytes @ 0x20000000) returns TRUE (0003ms, 16545ms total)
T1F54 2501:796 JLINK_ReadReg(R15 (PC)) returns 0x20000000 (0000ms, 16542ms total)
T1F54 2501:796 JLINK_ClrBPEx(BPHandle = 0x00000005) returns 0x00 (0000ms, 16542ms total)
T1F54 2501:796 JLINK_ReadReg(R0) returns 0x00000000 (0000ms, 16542ms total)
T1F54 2501:797 JLINK_WriteMem(0x20000164, 0x029C Bytes, ...) - Data: 60 06 00 20 6D 01 00 08 9D 03 00 08 4B 03 00 08 ... -- CPU_WriteMem(668 bytes @ 0x20000164) returns 0x29C (0004ms, 16546ms total)
T1F54 2501:801 JLINK_WriteMem(0x20000400, 0x0164 Bytes, ...) - Data: 06 D1 4F F0 01 0C 0C FA 00 FC C2 F8 14 C0 0A E0 ... -- CPU_WriteMem(356 bytes @ 0x20000400) returns 0x164 (0002ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(R0, 0x08000000) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(R1, 0x00000400) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(R2, 0x20000164) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(R3, 0x00000000) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(R4, 0x00000000) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(R5, 0x00000000) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(R6, 0x00000000) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(R7, 0x00000000) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(R8, 0x00000000) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(R9, 0x20000160) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(R10, 0x00000000) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(R11, 0x00000000) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(R12, 0x00000000) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(R13 (SP), 0x20001000) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(R14, 0x20000001) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(R15 (PC), 0x200000F4) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(XPSR, 0x01000000) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(MSP, 0x20001000) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(PSP, 0x20001000) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_WriteReg(CFBP, 0x00000000) returns 0x00 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) returns 0x00000006 (0000ms, 16548ms total)
T1F54 2501:803 JLINK_Go() -- CPU_ReadMem(4 bytes @ 0xE0001000) (0001ms, 16549ms total)
T1F54 2501:804 JLINK_IsHalted() returns FALSE (0001ms, 16550ms total)
T1F54 2501:810 JLINK_IsHalted() returns FALSE (0000ms, 16549ms total)
T1F54 2501:812 JLINK_IsHalted() returns FALSE (0000ms, 16549ms total)
T1F54 2501:814 JLINK_IsHalted() returns FALSE (0000ms, 16549ms total)
T1F54 2501:816 JLINK_IsHalted() returns FALSE (0000ms, 16549ms total)
T1F54 2501:818 JLINK_IsHalted() returns FALSE (0000ms, 16549ms total)
T1F54 2501:820 JLINK_IsHalted() returns FALSE (0000ms, 16549ms total)
T1F54 2501:822 JLINK_IsHalted() returns FALSE (0000ms, 16549ms total)
T1F54 2501:824 JLINK_IsHalted() returns FALSE (0000ms, 16549ms total)
T1F54 2501:826 JLINK_IsHalted() returns FALSE (0000ms, 16549ms total)
T1F54 2501:828 JLINK_IsHalted() returns FALSE (0000ms, 16549ms total)
T1F54 2501:830 JLINK_IsHalted() returns FALSE (0000ms, 16549ms total)
T1F54 2501:832 JLINK_IsHalted() returns FALSE (0000ms, 16549ms total)
T1F54 2501:834 JLINK_IsHalted() returns FALSE (0000ms, 16549ms total)
T1F54 2501:836 JLINK_IsHalted() -- CPU_ReadMem(2 bytes @ 0x20000000) returns TRUE (0002ms, 16551ms total)
T1F54 2501:838 JLINK_ReadReg(R15 (PC)) returns 0x20000000 (0000ms, 16549ms total)
T1F54 2501:838 JLINK_ClrBPEx(BPHandle = 0x00000006) returns 0x00 (0000ms, 16549ms total)
T1F54 2501:838 JLINK_ReadReg(R0) returns 0x00000000 (0000ms, 16549ms total)
T1F54 2501:839 JLINK_WriteMem(0x20000164, 0x029C Bytes, ...) - Data: 00 68 00 F4 00 30 10 B1 01 20 00 90 01 E0 00 20 ... -- CPU_WriteMem(668 bytes @ 0x20000164) returns 0x29C (0004ms, 16553ms total)
T1F54 2501:843 JLINK_WriteMem(0x20000400, 0x0164 Bytes, ...) - Data: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ... -- CPU_WriteMem(356 bytes @ 0x20000400) returns 0x164 (0002ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(R0, 0x08000400) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(R1, 0x00000138) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(R2, 0x20000164) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(R3, 0x00000000) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(R4, 0x00000000) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(R5, 0x00000000) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(R6, 0x00000000) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(R7, 0x00000000) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(R8, 0x00000000) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(R9, 0x20000160) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(R10, 0x00000000) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(R11, 0x00000000) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(R12, 0x00000000) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(R13 (SP), 0x20001000) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(R14, 0x20000001) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(R15 (PC), 0x200000F4) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(XPSR, 0x01000000) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(MSP, 0x20001000) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(PSP, 0x20001000) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_WriteReg(CFBP, 0x00000000) returns 0x00 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) returns 0x00000007 (0000ms, 16555ms total)
T1F54 2501:845 JLINK_Go() -- CPU_ReadMem(4 bytes @ 0xE0001000) (0002ms, 16557ms total)
T1F54 2501:847 JLINK_IsHalted() returns FALSE (0000ms, 16557ms total)
T1F54 2501:849 JLINK_IsHalted() returns FALSE (0000ms, 16557ms total)
T1F54 2501:851 JLINK_IsHalted() returns FALSE (0000ms, 16557ms total)
T1F54 2501:853 JLINK_IsHalted() returns FALSE (0000ms, 16557ms total)
T1F54 2501:855 JLINK_IsHalted() returns FALSE (0000ms, 16557ms total)
T1F54 2501:857 JLINK_IsHalted() -- CPU_ReadMem(2 bytes @ 0x20000000) returns TRUE (0002ms, 16559ms total)
T1F54 2501:859 JLINK_ReadReg(R15 (PC)) returns 0x20000000 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_ClrBPEx(BPHandle = 0x00000007) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_ReadReg(R0) returns 0x00000000 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(R0, 0x00000002) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(R1, 0x00000138) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(R2, 0x20000164) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(R3, 0x00000000) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(R4, 0x00000000) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(R5, 0x00000000) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(R6, 0x00000000) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(R7, 0x00000000) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(R8, 0x00000000) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(R9, 0x20000160) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(R10, 0x00000000) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(R11, 0x00000000) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(R12, 0x00000000) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(R13 (SP), 0x20001000) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(R14, 0x20000001) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(R15 (PC), 0x2000006A) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(XPSR, 0x01000000) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(MSP, 0x20001000) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(PSP, 0x20001000) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_WriteReg(CFBP, 0x00000000) returns 0x00 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) returns 0x00000008 (0000ms, 16557ms total)
T1F54 2501:859 JLINK_Go() -- CPU_ReadMem(4 bytes @ 0xE0001000) (0002ms, 16559ms total)
T1F54 2501:861 JLINK_IsHalted() -- CPU_ReadMem(2 bytes @ 0x20000000) returns TRUE (0002ms, 16561ms total)
T1F54 2501:863 JLINK_ReadReg(R15 (PC)) returns 0x20000000 (0000ms, 16559ms total)
T1F54 2501:863 JLINK_ClrBPEx(BPHandle = 0x00000008) returns 0x00 (0000ms, 16559ms total)
T1F54 2501:863 JLINK_ReadReg(R0) returns 0x00000000 (0000ms, 16559ms total)
T1F54 2501:923 JLINK_WriteMem(0x20000000, 0x0164 Bytes, ...) - Data: 00 BE 0A E0 0D 78 2D 06 68 40 08 24 40 00 00 D3 ... -- CPU_WriteMem(356 bytes @ 0x20000000) returns 0x164 (0002ms, 16561ms total)
T1F54 2501:925 JLINK_WriteReg(R0, 0x08000000) returns 0x00 (0000ms, 16561ms total)
T1F54 2501:925 JLINK_WriteReg(R1, 0x00B71B00) returns 0x00 (0000ms, 16561ms total)
T1F54 2501:925 JLINK_WriteReg(R2, 0x00000003) returns 0x00 (0000ms, 16561ms total)
T1F54 2501:925 JLINK_WriteReg(R3, 0x00000000) returns 0x00 (0000ms, 16561ms total)
T1F54 2501:925 JLINK_WriteReg(R4, 0x00000000) returns 0x00 (0000ms, 16561ms total)
T1F54 2501:925 JLINK_WriteReg(R5, 0x00000000) returns 0x00 (0000ms, 16561ms total)
T1F54 2501:925 JLINK_WriteReg(R6, 0x00000000) returns 0x00 (0000ms, 16561ms total)
T1F54 2501:925 JLINK_WriteReg(R7, 0x00000000) returns 0x00 (0000ms, 16561ms total)
T1F54 2501:925 JLINK_WriteReg(R8, 0x00000000) returns 0x00 (0000ms, 16561ms total)
T1F54 2501:925 JLINK_WriteReg(R9, 0x20000160) returns 0x00 (0000ms, 16561ms total)
T1F54 2501:925 JLINK_WriteReg(R10, 0x00000000) returns 0x00 (0000ms, 16561ms total)
T1F54 2501:925 JLINK_WriteReg(R11, 0x00000000) returns 0x00 (0000ms, 16561ms total)
T1F54 2501:925 JLINK_WriteReg(R12, 0x00000000) returns 0x00 (0001ms, 16562ms total)
T1F54 2501:926 JLINK_WriteReg(R13 (SP), 0x20001000) returns 0x00 (0000ms, 16562ms total)
T1F54 2501:926 JLINK_WriteReg(R14, 0x20000001) returns 0x00 (0000ms, 16562ms total)
T1F54 2501:926 JLINK_WriteReg(R15 (PC), 0x20000038) returns 0x00 (0000ms, 16562ms total)
T1F54 2501:926 JLINK_WriteReg(XPSR, 0x01000000) returns 0x00 (0000ms, 16562ms total)
T1F54 2501:926 JLINK_WriteReg(MSP, 0x20001000) returns 0x00 (0000ms, 16562ms total)
T1F54 2501:926 JLINK_WriteReg(PSP, 0x20001000) returns 0x00 (0000ms, 16562ms total)
T1F54 2501:926 JLINK_WriteReg(CFBP, 0x00000000) returns 0x00 (0000ms, 16562ms total)
T1F54 2501:926 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) -- CPU_ReadMem(2 bytes @ 0x20000000) returns 0x00000009 (0000ms, 16562ms total)
T1F54 2501:926 JLINK_Go() -- CPU_WriteMem(2 bytes @ 0x20000000) -- CPU_ReadMem(4 bytes @ 0xE0001000) (0001ms, 16563ms total)
T1F54 2501:928 JLINK_IsHalted() -- CPU_ReadMem(2 bytes @ 0x20000000) returns TRUE (0002ms, 16566ms total)
T1F54 2501:930 JLINK_ReadReg(R15 (PC)) returns 0x20000000 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_ClrBPEx(BPHandle = 0x00000009) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_ReadReg(R0) returns 0x00000000 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(R0, 0xFFFFFFFF) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(R1, 0x08000000) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(R2, 0x00000538) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(R3, 0x04C11DB7) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(R4, 0x00000000) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(R5, 0x00000000) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(R6, 0x00000000) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(R7, 0x00000000) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(R8, 0x00000000) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(R9, 0x20000160) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(R10, 0x00000000) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(R11, 0x00000000) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(R12, 0x00000000) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(R13 (SP), 0x20001000) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(R14, 0x20000001) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(R15 (PC), 0x20000002) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(XPSR, 0x01000000) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(MSP, 0x20001000) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(PSP, 0x20001000) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_WriteReg(CFBP, 0x00000000) returns 0x00 (0000ms, 16564ms total)
T1F54 2501:930 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) returns 0x0000000A (0000ms, 16564ms total)
T1F54 2501:930 JLINK_Go() -- CPU_ReadMem(4 bytes @ 0xE0001000) (0002ms, 16566ms total)
T1F54 2501:932 JLINK_IsHalted() returns FALSE (0000ms, 16566ms total)
T1F54 2501:937 JLINK_IsHalted() returns FALSE (0000ms, 16566ms total)
T1F54 2501:939 JLINK_IsHalted() returns FALSE (0000ms, 16566ms total)
T1F54 2501:942 JLINK_IsHalted() returns FALSE (0000ms, 16566ms total)
T1F54 2501:944 JLINK_IsHalted() returns FALSE (0000ms, 16566ms total)
T1F54 2501:946 JLINK_IsHalted() returns FALSE (0000ms, 16566ms total)
T1F54 2501:948 JLINK_IsHalted() -- CPU_ReadMem(2 bytes @ 0x20000000) returns TRUE (0002ms, 16568ms total)
T1F54 2501:950 JLINK_ReadReg(R15 (PC)) returns 0x20000000 (0000ms, 16566ms total)
T1F54 2501:950 JLINK_ClrBPEx(BPHandle = 0x0000000A) returns 0x00 (0000ms, 16566ms total)
T1F54 2501:950 JLINK_ReadReg(R0) returns 0xB0E554F9 (0000ms, 16566ms total)
T1F54 2501:950 JLINK_WriteReg(R0, 0x00000003) returns 0x00 (0000ms, 16566ms total)
T1F54 2501:950 JLINK_WriteReg(R1, 0x08000000) returns 0x00 (0000ms, 16566ms total)
T1F54 2501:950 JLINK_WriteReg(R2, 0x00000538) returns 0x00 (0001ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(R3, 0x04C11DB7) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(R4, 0x00000000) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(R5, 0x00000000) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(R6, 0x00000000) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(R7, 0x00000000) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(R8, 0x00000000) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(R9, 0x20000160) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(R10, 0x00000000) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(R11, 0x00000000) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(R12, 0x00000000) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(R13 (SP), 0x20001000) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(R14, 0x20000001) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(R15 (PC), 0x2000006A) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(XPSR, 0x01000000) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(MSP, 0x20001000) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(PSP, 0x20001000) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_WriteReg(CFBP, 0x00000000) returns 0x00 (0000ms, 16567ms total)
T1F54 2501:951 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2) returns 0x0000000B (0000ms, 16567ms total)
T1F54 2501:951 JLINK_Go() -- CPU_ReadMem(4 bytes @ 0xE0001000) (0001ms, 16568ms total)
T1F54 2501:952 JLINK_IsHalted() -- CPU_ReadMem(2 bytes @ 0x20000000) returns TRUE (0002ms, 16570ms total)
T1F54 2501:954 JLINK_ReadReg(R15 (PC)) returns 0x20000000 (0000ms, 16568ms total)
T1F54 2501:954 JLINK_ClrBPEx(BPHandle = 0x0000000B) returns 0x00 (0000ms, 16568ms total)
T1F54 2501:954 JLINK_ReadReg(R0) returns 0x00000000 (0001ms, 16569ms total)
T1F54 2502:011 JLINK_WriteMemEx(0x20000000, 0x0002 Bytes, ..., Flags = 0x02000000) - Data: FE E7 -- CPU_WriteMem(2 bytes @ 0x20000000) returns 0x02 (0000ms, 16569ms total)
T1F54 2502:011 JLINK_SetResetType(JLINKARM_CM3_RESET_TYPE_NORMAL) returns JLINKARM_CM3_RESET_TYPE_NORMAL (0000ms, 16569ms total)
T1F54 2502:011 JLINK_Reset() -- CPU_WriteMem(4 bytes @ 0xE000EDF0) -- CPU_WriteMem(4 bytes @ 0xE000EDFC)Reset: Halt core after reset via DEMCR.VC_CORERESET.Reset: Reset device via AIRCR.SYSRESETREQ. -- CPU_WriteMem(4 bytes @ 0xE000ED0C) -- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- CPU_WriteMem(4 bytes @ 0xE000EDF0) -- CPU_WriteMem(4 bytes @ 0xE000EDFC) -- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- CPU_WriteMem(4 bytes @ 0xE000EDFC) -- CPU_WriteMem(4 bytes @ 0xE0001028)
-- CPU_WriteMem(4 bytes @ 0xE0001038) -- CPU_WriteMem(4 bytes @ 0xE0001048) -- CPU_WriteMem(4 bytes @ 0xE0001058) -- CPU_WriteMem(4 bytes @ 0xE0002000) -- CPU_ReadMem(4 bytes @ 0xE000EDFC) -- CPU_ReadMem(4 bytes @ 0xE0001000) (0067ms, 16636ms total)
T1F54 2502:078 JLINK_Go() -- CPU_ReadMem(4 bytes @ 0xE0001000) -- CPU_WriteMem(4 bytes @ 0xE0002008) -- CPU_WriteMem(4 bytes @ 0xE000200C) -- CPU_WriteMem(4 bytes @ 0xE0002010) -- CPU_WriteMem(4 bytes @ 0xE0002014) -- CPU_WriteMem(4 bytes @ 0xE0002018) -- CPU_WriteMem(4 bytes @ 0xE000201C) -- CPU_WriteMem(4 bytes @ 0xE0001004) (0003ms, 16639ms total)
T1F54 2502:130 JLINK_Close() -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE0002008) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000200C) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE0002010) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE0002014) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE0002018) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000201C) >0xF0 JTAG> >0x40 JTAG> >0x30 JTAG> >0x30 JTAG> >0x30 JTAG> >0x30 JTAG> >0x50 JTAG> >0x30 JTAG> >0x08 JTAG> (0017ms, 16656ms total)
T1F54 2502:130 (0017ms, 16656ms total)
T1F54 2502:130 Closed (0017ms, 16656ms total)

View File

@ -1,39 +0,0 @@
[BREAKPOINTS]
ForceImpTypeAny = 0
ShowInfoWin = 1
EnableFlashBP = 2
BPDuringExecution = 0
[CFI]
CFISize = 0x00
CFIAddr = 0x00
[CPU]
MonModeVTableAddr = 0xFFFFFFFF
MonModeDebug = 0
MaxNumAPs = 0
LowPowerHandlingMode = 0
OverrideMemMap = 0
AllowSimulation = 1
ScriptFile=""
[FLASH]
CacheExcludeSize = 0x00
CacheExcludeAddr = 0x00
MinNumBytesFlashDL = 0
SkipProgOnCRCMatch = 1
VerifyDownload = 1
AllowCaching = 1
EnableFlashDL = 2
Override = 0
Device="ARM7"
[GENERAL]
WorkRAMSize = 0x00
WorkRAMAddr = 0x00
RAMUsageLimit = 0x00
[SWO]
SWOLogFile=""
[MEM]
RdOverrideOrMask = 0x00
RdOverrideAndMask = 0xFFFFFFFF
RdOverrideAddr = 0xFFFFFFFF
WrOverrideOrMask = 0x00
WrOverrideAndMask = 0xFFFFFFFF
WrOverrideAddr = 0xFFFFFFFF

View File

@ -1,6 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english
-I E:\f103\40-tft_2_4_1\MDK-ARM\RTE
-I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include
-I D:\software\keil5\ARM\CMSIS\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\core_cm3.o --omf_browse .\objects\core_cm3.crf --depend .\objects\core_cm3.d "..\CMSIS\core_cm3.c"

View File

@ -1,6 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english
-I E:\f103\40-tft_2_4_1\MDK-ARM\RTE
-I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include
-I D:\software\keil5\ARM\CMSIS\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\delay.o --omf_browse .\objects\delay.crf --depend .\objects\delay.d "..\SYS\delay.c"

View File

@ -1,7 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd
-I E:\stm32code\f103\20-rgb_tft\MDK-ARM\RTE
-I D:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0
-I D:\Keil_v5\ARM\CMSIS\Include
-I D:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Device\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\esp8266.o --omf_browse .\objects\esp8266.crf --depend .\objects\esp8266.d "..\APP\ESP8266\esp8266.c"

View File

@ -1,6 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english
-I E:\f103\40-tft_2_4_1\MDK-ARM\RTE
-I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include
-I D:\software\keil5\ARM\CMSIS\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\exti.o --omf_browse .\objects\exti.crf --depend .\objects\exti.d "..\SYS\exti.c"

View File

@ -1,7 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602
-I E:\stm32code\f103\11-lcd1602\MDK-ARM\RTE
-I D:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0
-I D:\Keil_v5\ARM\CMSIS\Include
-I D:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Device\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\fp.o --omf_browse .\objects\fp.crf --depend .\objects\fp.d "..\APP\fingerprint\fp.c"

View File

@ -1,6 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english
-I E:\f103\40-tft_2_4_1\MDK-ARM\RTE
-I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include
-I D:\software\keil5\ARM\CMSIS\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\i2c.o --omf_browse .\objects\i2c.crf --depend .\objects\i2c.d "..\SYS\i2c.c"

View File

@ -1,7 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd
-I E:\stm32code\f103\20-rgb_tft\MDK-ARM\RTE
-I D:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0
-I D:\Keil_v5\ARM\CMSIS\Include
-I D:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Device\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\key.o --omf_browse .\objects\key.crf --depend .\objects\key.d "..\APP\key\key.c"

View File

@ -1,7 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD
-I E:\stm32code\f103\20-rgb_tft_t\MDK-ARM\RTE
-I D:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0
-I D:\Keil_v5\ARM\CMSIS\Include
-I D:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Device\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\lcd.o --omf_browse .\objects\lcd.crf --depend .\objects\lcd.d "..\APP\LCD\LCD.c"

View File

@ -1,7 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd
-I E:\stm32code\f103\20-rgb_tft\MDK-ARM\RTE
-I D:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0
-I D:\Keil_v5\ARM\CMSIS\Include
-I D:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Device\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\lcd12864.o --omf_browse .\objects\lcd12864.crf --depend .\objects\lcd12864.d "..\APP\lcd12864\lcd12864.c"

View File

@ -1,7 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602
-I E:\stm32code\f103\11-lcd1602\MDK-ARM\RTE
-I D:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0
-I D:\Keil_v5\ARM\CMSIS\Include
-I D:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Device\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\lcd1602.o --omf_browse .\objects\lcd1602.crf --depend .\objects\lcd1602.d "..\APP\lcd1602\lcd1602.c"

View File

@ -1,7 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd
-I E:\stm32code\f103\20-rgb_tft\MDK-ARM\RTE
-I D:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0
-I D:\Keil_v5\ARM\CMSIS\Include
-I D:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Device\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\led.o --omf_browse .\objects\led.crf --depend .\objects\led.d "..\APP\led\led.c"

View File

@ -1,6 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english
-I E:\f103\40-tft_2_4_1\MDK-ARM\RTE
-I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include
-I D:\software\keil5\ARM\CMSIS\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d "main.c"

View File

@ -1,6 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english
-I E:\f103\40-tft_2_4_1\MDK-ARM\RTE
-I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include
-I D:\software\keil5\ARM\CMSIS\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\misc.o --omf_browse .\objects\misc.crf --depend .\objects\misc.d "..\STM32_LIB\src\misc.c"

View File

@ -1,7 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd
-I E:\stm32code\f103\20-rgb_tft\MDK-ARM\RTE
-I D:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0
-I D:\Keil_v5\ARM\CMSIS\Include
-I D:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.2.0\Device\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\oled.o --omf_browse .\objects\oled.crf --depend .\objects\oled.d "..\APP\OLED\oled.c"

View File

@ -1,77 +0,0 @@
<html>
<body>
<pre>
<h1>µVision Build Log</h1>
<h2>Tool Versions:</h2>
IDE-Version: ¦ÌVision V5.14.0.0
Copyright (C) 2015 ARM Ltd and ARM Germany GmbH. All rights reserved.
License Information: a Administrator, a, LIC=9WSKC-7X7LE-Y8LFK-Z8URI-6KJDA-1DBDT
Tool Versions:
Toolchain: MDK-ARM Standard Version: 5.14.0.0
Toolchain Path: D:\software\keil5\ARM\ARMCC\Bin
C Compiler: Armcc.exe V5.05 update 1 (build 106)
Assembler: Armasm.exe V5.05 update 1 (build 106)
Linker/Locator: ArmLink.exe V5.05 update 1 (build 106)
Library Manager: ArmAr.exe V5.05 update 1 (build 106)
Hex Converter: FromElf.exe V5.05 update 1 (build 106)
CPU DLL: SARMCM3.DLL V5.14.0.0
Dialog DLL: DCM.DLL V1.13.1.0
Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V2.0.14.0_KEIL
Dialog DLL: TCM.DLL V1.14.4.0
<h2>Project:</h2>
E:\f103\40-tft_2_4_1\MDK-ARM\oled.uvprojx
Project File Date: 04/15/2025
<h2>Output:</h2>
*** Note: Rebuilding project, since 'Options->Output->Create Batch File' is selected.
Rebuild target 'oled'
compiling tftlcd.c...
compiling core_cm3.c...
compiling stm32f10x_it.c...
compiling system_stm32f10x.c...
assembling startup_stm32f10x_md.s...
compiling misc.c...
compiling stm32f10x_adc.c...
compiling stm32f10x_bkp.c...
compiling stm32f10x_can.c...
compiling stm32f10x_cec.c...
compiling stm32f10x_crc.c...
compiling stm32f10x_dac.c...
compiling stm32f10x_dbgmcu.c...
compiling stm32f10x_dma.c...
compiling stm32f10x_exti.c...
compiling stm32f10x_flash.c...
compiling stm32f10x_fsmc.c...
compiling stm32f10x_gpio.c...
compiling stm32f10x_i2c.c...
compiling stm32f10x_iwdg.c...
compiling stm32f10x_pwr.c...
compiling stm32f10x_rcc.c...
compiling stm32f10x_rtc.c...
compiling stm32f10x_sdio.c...
compiling stm32f10x_spi.c...
compiling stm32f10x_tim.c...
compiling stm32f10x_usart.c...
compiling stm32f10x_wwdg.c...
compiling delay.c...
compiling sys.c...
compiling i2c.c...
compiling timer.c...
compiling usart.c...
compiling exti.c...
compiling main.c...
linking...
Program Size: Code=6960 RO-data=13888 RW-data=32 ZI-data=2832
FromELF: creating hex file...
".\Objects\oled.axf" - 0 Error(s), 0 Warning(s).
<h2>Collection of Component include folders:</h2>
E:\f103\40-tft_2_4_1\MDK-ARM\RTE
D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include
<h2>Collection of Component Files used:</h2>
</pre>
</body>
</html>

View File

@ -1,875 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\Objects\oled.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\Objects\oled.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5050106: Last Updated: Mon May 19 10:15:12 2025
<BR><P>
<H3>Maximum Stack Usage = 208 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
__rt_entry_main &rArr; main &rArr; TFTLCD_ShowIntNum &rArr; TFTLCD_ShowChar &rArr; TFTLCD_DrawPoint &rArr; TFTLCD_Address_Set &rArr; TFTLCD_WR_REG &rArr; TFTLCD_Writ_Bus
<P>
<H3>
Functions with no stack information
</H3><UL>
<LI><a href="#[4c]">__user_initial_stackheap</a>
</UL>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3> <LI><a href="#[20]">ADC1_2_IRQHandler</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[20]">ADC1_2_IRQHandler</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
<LI><a href="#[20]">ADC1_2_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[8]">BusFault_Handler</a> from stm32f10x_it.o(i.BusFault_Handler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[23]">CAN1_RX1_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[24]">CAN1_SCE_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[19]">DMA1_Channel1_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[1a]">DMA1_Channel2_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[1b]">DMA1_Channel3_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[1c]">DMA1_Channel4_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[1d]">DMA1_Channel5_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[1e]">DMA1_Channel6_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[1f]">DMA1_Channel7_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[b]">DebugMon_Handler</a> from stm32f10x_it.o(i.DebugMon_Handler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[14]">EXTI0_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[36]">EXTI15_10_IRQHandler</a> from exti.o(i.EXTI15_10_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[15]">EXTI1_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[16]">EXTI2_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[17]">EXTI3_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[18]">EXTI4_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[25]">EXTI9_5_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[12]">FLASH_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[6]">HardFault_Handler</a> from stm32f10x_it.o(i.HardFault_Handler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[2e]">I2C1_ER_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[2d]">I2C1_EV_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[30]">I2C2_ER_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[2f]">I2C2_EV_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[7]">MemManage_Handler</a> from stm32f10x_it.o(i.MemManage_Handler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[5]">NMI_Handler</a> from stm32f10x_it.o(i.NMI_Handler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[f]">PVD_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[c]">PendSV_Handler</a> from stm32f10x_it.o(i.PendSV_Handler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[13]">RCC_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[37]">RTCAlarm_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[11]">RTC_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[4]">Reset_Handler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[31]">SPI1_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[32]">SPI2_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[a]">SVC_Handler</a> from stm32f10x_it.o(i.SVC_Handler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[d]">SysTick_Handler</a> from stm32f10x_it.o(i.SysTick_Handler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[39]">SystemInit</a> from system_stm32f10x.o(i.SystemInit) referenced from startup_stm32f10x_md.o(.text)
<LI><a href="#[10]">TAMPER_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[26]">TIM1_BRK_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[29]">TIM1_CC_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[28]">TIM1_TRG_COM_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[27]">TIM1_UP_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[2a]">TIM2_IRQHandler</a> from timer.o(i.TIM2_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[2b]">TIM3_IRQHandler</a> from timer.o(i.TIM3_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[2c]">TIM4_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[33]">USART1_IRQHandler</a> from usart.o(i.USART1_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[34]">USART2_IRQHandler</a> from usart.o(i.USART2_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[35]">USART3_IRQHandler</a> from usart.o(i.USART3_IRQHandler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[38]">USBWakeUp_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[21]">USB_HP_CAN1_TX_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[22]">USB_LP_CAN1_RX0_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[9]">UsageFault_Handler</a> from stm32f10x_it.o(i.UsageFault_Handler) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[e]">WWDG_IRQHandler</a> from startup_stm32f10x_md.o(.text) referenced from startup_stm32f10x_md.o(RESET)
<LI><a href="#[3b]">__main</a> from __main.o(!!!main) referenced from startup_stm32f10x_md.o(.text)
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[3b]"></a>__main</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
<BR><BR>[Calls]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
<LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>
<P><STRONG><a name="[3c]"></a>__scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<BR><BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main
</UL>
<P><STRONG><a name="[3e]"></a>__scatterload_rt2</STRONG> (Thumb, 44 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
</UL>
<P><STRONG><a name="[82]"></a>__scatterload_rt2_thumb_only</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[83]"></a>__scatterload_null</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[3f]"></a>__scatterload_copy</STRONG> (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
</UL>
<P><STRONG><a name="[84]"></a>__scatterload_zeroinit</STRONG> (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
<P><STRONG><a name="[43]"></a>__rt_lib_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_li
</UL>
<P><STRONG><a name="[85]"></a>__rt_lib_init_alloca_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))
<P><STRONG><a name="[86]"></a>__rt_lib_init_argv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C))
<P><STRONG><a name="[87]"></a>__rt_lib_init_atexit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))
<P><STRONG><a name="[88]"></a>__rt_lib_init_clock_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))
<P><STRONG><a name="[89]"></a>__rt_lib_init_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032))
<P><STRONG><a name="[8a]"></a>__rt_lib_init_exceptions_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))
<P><STRONG><a name="[8b]"></a>__rt_lib_init_fp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002))
<P><STRONG><a name="[8c]"></a>__rt_lib_init_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))
<P><STRONG><a name="[8d]"></a>__rt_lib_init_getenv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))
<P><STRONG><a name="[8e]"></a>__rt_lib_init_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A))
<P><STRONG><a name="[8f]"></a>__rt_lib_init_lc_collate_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011))
<P><STRONG><a name="[90]"></a>__rt_lib_init_lc_ctype_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))
<P><STRONG><a name="[91]"></a>__rt_lib_init_lc_monetary_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))
<P><STRONG><a name="[92]"></a>__rt_lib_init_lc_numeric_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))
<P><STRONG><a name="[93]"></a>__rt_lib_init_lc_time_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))
<P><STRONG><a name="[94]"></a>__rt_lib_init_preinit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004))
<P><STRONG><a name="[95]"></a>__rt_lib_init_rand_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))
<P><STRONG><a name="[96]"></a>__rt_lib_init_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000033))
<P><STRONG><a name="[97]"></a>__rt_lib_init_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))
<P><STRONG><a name="[98]"></a>__rt_lib_init_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025))
<P><STRONG><a name="[99]"></a>__rt_lib_init_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))
<P><STRONG><a name="[48]"></a>__rt_lib_shutdown</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit_ls
</UL>
<P><STRONG><a name="[9a]"></a>__rt_lib_shutdown_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006))
<P><STRONG><a name="[9b]"></a>__rt_lib_shutdown_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E))
<P><STRONG><a name="[9c]"></a>__rt_lib_shutdown_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))
<P><STRONG><a name="[9d]"></a>__rt_lib_shutdown_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009))
<P><STRONG><a name="[9e]"></a>__rt_lib_shutdown_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000003))
<P><STRONG><a name="[9f]"></a>__rt_lib_shutdown_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000B))
<P><STRONG><a name="[3d]"></a>__rt_entry</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main
<LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_rt2
</UL>
<P><STRONG><a name="[a0]"></a>__rt_entry_presh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))
<P><STRONG><a name="[40]"></a>__rt_entry_sh</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = __rt_entry_sh &rArr; __user_setup_stackheap
</UL>
<BR>[Calls]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>
<P><STRONG><a name="[42]"></a>__rt_entry_li</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000A))
<BR><BR>[Calls]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init
</UL>
<P><STRONG><a name="[a1]"></a>__rt_entry_postsh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))
<P><STRONG><a name="[44]"></a>__rt_entry_main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
<BR><BR>[Stack]<UL><LI>Max Depth = 208 + Unknown Stack Size
<LI>Call Chain = __rt_entry_main &rArr; main &rArr; TFTLCD_ShowIntNum &rArr; TFTLCD_ShowChar &rArr; TFTLCD_DrawPoint &rArr; TFTLCD_Address_Set &rArr; TFTLCD_WR_REG &rArr; TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit
<LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[a2]"></a>__rt_entry_postli_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))
<P><STRONG><a name="[4d]"></a>__rt_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit
</UL>
<P><STRONG><a name="[47]"></a>__rt_exit_ls</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003))
<BR><BR>[Calls]<UL><LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_shutdown
</UL>
<P><STRONG><a name="[a3]"></a>__rt_exit_prels_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))
<P><STRONG><a name="[49]"></a>__rt_exit_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_sys_exit
</UL>
<P><STRONG><a name="[4]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[20]"></a>ADC1_2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[20]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC1_2_IRQHandler
</UL>
<BR>[Called By]<UL><LI><a href="#[20]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC1_2_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[23]"></a>CAN1_RX1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[24]"></a>CAN1_SCE_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[19]"></a>DMA1_Channel1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[1a]"></a>DMA1_Channel2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[1b]"></a>DMA1_Channel3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[1c]"></a>DMA1_Channel4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[1d]"></a>DMA1_Channel5_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[1e]"></a>DMA1_Channel6_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[1f]"></a>DMA1_Channel7_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[14]"></a>EXTI0_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[15]"></a>EXTI1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[16]"></a>EXTI2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[17]"></a>EXTI3_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[18]"></a>EXTI4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[25]"></a>EXTI9_5_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[12]"></a>FLASH_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[2e]"></a>I2C1_ER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[2d]"></a>I2C1_EV_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[30]"></a>I2C2_ER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[2f]"></a>I2C2_EV_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[f]"></a>PVD_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[13]"></a>RCC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[37]"></a>RTCAlarm_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[11]"></a>RTC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[31]"></a>SPI1_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[32]"></a>SPI2_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[10]"></a>TAMPER_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[26]"></a>TIM1_BRK_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[29]"></a>TIM1_CC_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[28]"></a>TIM1_TRG_COM_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[27]"></a>TIM1_UP_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[2c]"></a>TIM4_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[38]"></a>USBWakeUp_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[21]"></a>USB_HP_CAN1_TX_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[22]"></a>USB_LP_CAN1_RX0_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[e]"></a>WWDG_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[4c]"></a>__user_initial_stackheap</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f10x_md.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>
<P><STRONG><a name="[a4]"></a>__use_no_semihosting</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi_2.o(.text), UNUSED)
<P><STRONG><a name="[a5]"></a>__use_two_region_memory</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[a6]"></a>__rt_heap_escrow$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[a7]"></a>__rt_heap_expand$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[a8]"></a>__I$use$semihosting</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[a9]"></a>__use_no_semihosting_swi</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[41]"></a>__user_setup_stackheap</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = __user_setup_stackheap
</UL>
<BR>[Calls]<UL><LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_initial_stackheap
<LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_perproc_libspace
</UL>
<BR>[Called By]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_sh
</UL>
<P><STRONG><a name="[46]"></a>exit</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, exit.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit
</UL>
<BR>[Called By]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
</UL>
<P><STRONG><a name="[aa]"></a>__user_libspace</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
<P><STRONG><a name="[4b]"></a>__user_perproc_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>
<P><STRONG><a name="[ab]"></a>__user_perthread_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
<P><STRONG><a name="[8]"></a>BusFault_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_it.o(i.BusFault_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[b]"></a>DebugMon_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f10x_it.o(i.DebugMon_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[36]"></a>EXTI15_10_IRQHandler</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, exti.o(i.EXTI15_10_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = EXTI15_10_IRQHandler
</UL>
<BR>[Calls]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_ms
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI_GetITStatus
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI_ClearITPendingBit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[50]"></a>EXTI_ClearITPendingBit</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_exti.o(i.EXTI_ClearITPendingBit))
<BR><BR>[Called By]<UL><LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI15_10_IRQHandler
</UL>
<P><STRONG><a name="[51]"></a>EXTI_GPIO_Config</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, exti.o(i.EXTI_GPIO_Config))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = EXTI_GPIO_Config &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[4e]"></a>EXTI_GetITStatus</STRONG> (Thumb, 34 bytes, Stack size 0 bytes, stm32f10x_exti.o(i.EXTI_GetITStatus))
<BR><BR>[Called By]<UL><LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI15_10_IRQHandler
</UL>
<P><STRONG><a name="[54]"></a>EXTI_INTERRUPT_Config</STRONG> (Thumb, 90 bytes, Stack size 16 bytes, exti.o(i.EXTI_INTERRUPT_Config))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = EXTI_INTERRUPT_Config &rArr; GPIO_EXTILineConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_EXTILineConfig
<LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[56]"></a>EXTI_Init</STRONG> (Thumb, 142 bytes, Stack size 0 bytes, stm32f10x_exti.o(i.EXTI_Init))
<BR><BR>[Called By]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI_INTERRUPT_Config
</UL>
<P><STRONG><a name="[57]"></a>EXTI_NVIC_Config</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, exti.o(i.EXTI_NVIC_Config))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = EXTI_NVIC_Config &rArr; NVIC_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_PriorityGroupConfig
<LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[55]"></a>GPIO_EXTILineConfig</STRONG> (Thumb, 60 bytes, Stack size 12 bytes, stm32f10x_gpio.o(i.GPIO_EXTILineConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = GPIO_EXTILineConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI_INTERRUPT_Config
</UL>
<P><STRONG><a name="[53]"></a>GPIO_Init</STRONG> (Thumb, 278 bytes, Stack size 24 bytes, stm32f10x_gpio.o(i.GPIO_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_GPIO_Init
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI_GPIO_Config
</UL>
<P><STRONG><a name="[69]"></a>GPIO_ResetBits</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_gpio.o(i.GPIO_ResetBits))
<BR><BR>[Called By]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Writ_Bus
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_WR_REG
<LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Init
</UL>
<P><STRONG><a name="[66]"></a>GPIO_SetBits</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_gpio.o(i.GPIO_SetBits))
<BR><BR>[Called By]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Writ_Bus
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_WR_REG
<LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Init
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_GPIO_Init
</UL>
<P><STRONG><a name="[6]"></a>HardFault_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_it.o(i.HardFault_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[7d]"></a>JTAG_Set</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, main.o(i.JTAG_Set))
<BR><BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[7]"></a>MemManage_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_it.o(i.MemManage_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[5]"></a>NMI_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f10x_it.o(i.NMI_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[5a]"></a>NVIC_Configuration</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, sys.o(i.NVIC_Configuration))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = NVIC_Configuration
</UL>
<BR>[Calls]<UL><LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_PriorityGroupConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[59]"></a>NVIC_Init</STRONG> (Thumb, 100 bytes, Stack size 16 bytes, misc.o(i.NVIC_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = NVIC_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI_NVIC_Config
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Timer3_Init
</UL>
<P><STRONG><a name="[58]"></a>NVIC_PriorityGroupConfig</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, misc.o(i.NVIC_PriorityGroupConfig))
<BR><BR>[Called By]<UL><LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI_NVIC_Config
<LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_Configuration
</UL>
<P><STRONG><a name="[c]"></a>PendSV_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f10x_it.o(i.PendSV_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[76]"></a>RCC_APB1PeriphClockCmd</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, stm32f10x_rcc.o(i.RCC_APB1PeriphClockCmd))
<BR><BR>[Called By]<UL><LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Timer3_Init
</UL>
<P><STRONG><a name="[52]"></a>RCC_APB2PeriphClockCmd</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd))
<BR><BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_GPIO_Init
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI_GPIO_Config
</UL>
<P><STRONG><a name="[a]"></a>SVC_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f10x_it.o(i.SVC_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[d]"></a>SysTick_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f10x_it.o(i.SysTick_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[39]"></a>SystemInit</STRONG> (Thumb, 78 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SystemInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = SystemInit &rArr; SetSysClock &rArr; SetSysClockTo72
</UL>
<BR>[Calls]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClock
</UL>
<BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(.text)
</UL>
<P><STRONG><a name="[5d]"></a>TFTLCD_Address_Set</STRONG> (Thumb, 58 bytes, Stack size 24 bytes, tftlcd.o(i.TFTLCD_Address_Set))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = TFTLCD_Address_Set &rArr; TFTLCD_WR_REG &rArr; TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_WR_REG
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_WR_DATA
</UL>
<BR>[Called By]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowChar
<LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Image
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Fill
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_DrawPoint
</UL>
<P><STRONG><a name="[60]"></a>TFTLCD_DrawCircle</STRONG> (Thumb, 158 bytes, Stack size 32 bytes, tftlcd.o(i.TFTLCD_DrawCircle))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = TFTLCD_DrawCircle &rArr; TFTLCD_DrawPoint &rArr; TFTLCD_Address_Set &rArr; TFTLCD_WR_REG &rArr; TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_DrawPoint
</UL>
<BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[62]"></a>TFTLCD_DrawLine</STRONG> (Thumb, 172 bytes, Stack size 72 bytes, tftlcd.o(i.TFTLCD_DrawLine))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = TFTLCD_DrawLine &rArr; TFTLCD_DrawPoint &rArr; TFTLCD_Address_Set &rArr; TFTLCD_WR_REG &rArr; TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_DrawPoint
</UL>
<BR>[Called By]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_DrawRectangle
<LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[61]"></a>TFTLCD_DrawPoint</STRONG> (Thumb, 28 bytes, Stack size 16 bytes, tftlcd.o(i.TFTLCD_DrawPoint))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = TFTLCD_DrawPoint &rArr; TFTLCD_Address_Set &rArr; TFTLCD_WR_REG &rArr; TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_WR_DATA
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Address_Set
</UL>
<BR>[Called By]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowChar
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_DrawLine
<LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_DrawCircle
</UL>
<P><STRONG><a name="[63]"></a>TFTLCD_DrawRectangle</STRONG> (Thumb, 74 bytes, Stack size 32 bytes, tftlcd.o(i.TFTLCD_DrawRectangle))
<BR><BR>[Stack]<UL><LI>Max Depth = 168<LI>Call Chain = TFTLCD_DrawRectangle &rArr; TFTLCD_DrawLine &rArr; TFTLCD_DrawPoint &rArr; TFTLCD_Address_Set &rArr; TFTLCD_WR_REG &rArr; TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_DrawLine
</UL>
<BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[64]"></a>TFTLCD_Fill</STRONG> (Thumb, 74 bytes, Stack size 32 bytes, tftlcd.o(i.TFTLCD_Fill))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = TFTLCD_Fill &rArr; TFTLCD_Address_Set &rArr; TFTLCD_WR_REG &rArr; TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_WR_DATA
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Address_Set
</UL>
<BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[65]"></a>TFTLCD_GPIO_Init</STRONG> (Thumb, 50 bytes, Stack size 8 bytes, tftlcd.o(i.TFTLCD_GPIO_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = TFTLCD_GPIO_Init &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Init
</UL>
<P><STRONG><a name="[67]"></a>TFTLCD_Image</STRONG> (Thumb, 114 bytes, Stack size 40 bytes, tftlcd.o(i.TFTLCD_Image))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = TFTLCD_Image &rArr; TFTLCD_Address_Set &rArr; TFTLCD_WR_REG &rArr; TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_WR_DATA
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Address_Set
</UL>
<BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[68]"></a>TFTLCD_Init</STRONG> (Thumb, 476 bytes, Stack size 8 bytes, tftlcd.o(i.TFTLCD_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = TFTLCD_Init &rArr; TFTLCD_GPIO_Init &rArr; GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_ms
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_WR_REG
<LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_WR_DATA8
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[6b]"></a>TFTLCD_ShowChar</STRONG> (Thumb, 302 bytes, Stack size 56 bytes, tftlcd.o(i.TFTLCD_ShowChar))
<BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = TFTLCD_ShowChar &rArr; TFTLCD_DrawPoint &rArr; TFTLCD_Address_Set &rArr; TFTLCD_WR_REG &rArr; TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_WR_DATA
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_DrawPoint
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Address_Set
</UL>
<BR>[Called By]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowString
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowIntNum
<LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowFloatNum1
<LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[6c]"></a>TFTLCD_ShowFloatNum1</STRONG> (Thumb, 158 bytes, Stack size 72 bytes, tftlcd.o(i.TFTLCD_ShowFloatNum1))
<BR><BR>[Stack]<UL><LI>Max Depth = 192<LI>Call Chain = TFTLCD_ShowFloatNum1 &rArr; TFTLCD_ShowChar &rArr; TFTLCD_DrawPoint &rArr; TFTLCD_Address_Set &rArr; TFTLCD_WR_REG &rArr; TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mypow
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowChar
<LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_fmul
<LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2uiz
</UL>
<BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[70]"></a>TFTLCD_ShowIntNum</STRONG> (Thumb, 150 bytes, Stack size 72 bytes, tftlcd.o(i.TFTLCD_ShowIntNum))
<BR><BR>[Stack]<UL><LI>Max Depth = 192<LI>Call Chain = TFTLCD_ShowIntNum &rArr; TFTLCD_ShowChar &rArr; TFTLCD_DrawPoint &rArr; TFTLCD_Address_Set &rArr; TFTLCD_WR_REG &rArr; TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mypow
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowChar
</UL>
<BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[71]"></a>TFTLCD_ShowString</STRONG> (Thumb, 66 bytes, Stack size 48 bytes, tftlcd.o(i.TFTLCD_ShowString))
<BR><BR>[Stack]<UL><LI>Max Depth = 168<LI>Call Chain = TFTLCD_ShowString &rArr; TFTLCD_ShowChar &rArr; TFTLCD_DrawPoint &rArr; TFTLCD_Address_Set &rArr; TFTLCD_WR_REG &rArr; TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowChar
</UL>
<BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[5f]"></a>TFTLCD_WR_DATA</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, tftlcd.o(i.TFTLCD_WR_DATA))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = TFTLCD_WR_DATA &rArr; TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Writ_Bus
</UL>
<BR>[Called By]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowChar
<LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Image
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Fill
<LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_DrawPoint
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Address_Set
</UL>
<P><STRONG><a name="[6a]"></a>TFTLCD_WR_DATA8</STRONG> (Thumb, 12 bytes, Stack size 8 bytes, tftlcd.o(i.TFTLCD_WR_DATA8))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = TFTLCD_WR_DATA8 &rArr; TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Writ_Bus
</UL>
<BR>[Called By]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Init
</UL>
<P><STRONG><a name="[5e]"></a>TFTLCD_WR_REG</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, tftlcd.o(i.TFTLCD_WR_REG))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = TFTLCD_WR_REG &rArr; TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
<LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Writ_Bus
</UL>
<BR>[Called By]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Init
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Address_Set
</UL>
<P><STRONG><a name="[72]"></a>TFTLCD_Writ_Bus</STRONG> (Thumb, 86 bytes, Stack size 16 bytes, tftlcd.o(i.TFTLCD_Writ_Bus))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_SetBits
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GPIO_ResetBits
</UL>
<BR>[Called By]<UL><LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_WR_REG
<LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_WR_DATA8
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_WR_DATA
</UL>
<P><STRONG><a name="[2a]"></a>TIM2_IRQHandler</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, timer.o(i.TIM2_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TIM2_IRQHandler
</UL>
<BR>[Calls]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ClearITPendingBit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[2b]"></a>TIM3_IRQHandler</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, timer.o(i.TIM3_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TIM3_IRQHandler
</UL>
<BR>[Calls]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ClearITPendingBit
<LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Timers
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[73]"></a>TIM_ClearITPendingBit</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f10x_tim.o(i.TIM_ClearITPendingBit))
<BR><BR>[Called By]<UL><LI><a href="#[2b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM3_IRQHandler
<LI><a href="#[2a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM2_IRQHandler
</UL>
<P><STRONG><a name="[79]"></a>TIM_Cmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f10x_tim.o(i.TIM_Cmd))
<BR><BR>[Called By]<UL><LI><a href="#[34]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART2_IRQHandler
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Timer3_Init
</UL>
<P><STRONG><a name="[78]"></a>TIM_ITConfig</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_tim.o(i.TIM_ITConfig))
<BR><BR>[Called By]<UL><LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Timer3_Init
</UL>
<P><STRONG><a name="[7c]"></a>TIM_SetCounter</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_tim.o(i.TIM_SetCounter))
<BR><BR>[Called By]<UL><LI><a href="#[34]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART2_IRQHandler
</UL>
<P><STRONG><a name="[77]"></a>TIM_TimeBaseInit</STRONG> (Thumb, 122 bytes, Stack size 0 bytes, stm32f10x_tim.o(i.TIM_TimeBaseInit))
<BR><BR>[Called By]<UL><LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Timer3_Init
</UL>
<P><STRONG><a name="[75]"></a>Timer3_Init</STRONG> (Thumb, 90 bytes, Stack size 32 bytes, timer.o(i.Timer3_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = Timer3_Init &rArr; NVIC_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_Init
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphClockCmd
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TimeBaseInit
<LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ITConfig
<LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_Cmd
</UL>
<BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[74]"></a>Timers</STRONG> (Thumb, 60 bytes, Stack size 0 bytes, timer.o(i.Timers))
<BR><BR>[Called By]<UL><LI><a href="#[2b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM3_IRQHandler
</UL>
<P><STRONG><a name="[33]"></a>USART1_IRQHandler</STRONG> (Thumb, 122 bytes, Stack size 8 bytes, usart.o(i.USART1_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = USART1_IRQHandler &rArr; USART_GetITStatus
</UL>
<BR>[Calls]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ReceiveData
<LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_GetITStatus
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[34]"></a>USART2_IRQHandler</STRONG> (Thumb, 96 bytes, Stack size 8 bytes, usart.o(i.USART2_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = USART2_IRQHandler &rArr; USART_GetITStatus
</UL>
<BR>[Calls]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ReceiveData
<LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_GetITStatus
<LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_SetCounter
<LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_Cmd
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[35]"></a>USART3_IRQHandler</STRONG> (Thumb, 122 bytes, Stack size 8 bytes, usart.o(i.USART3_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = USART3_IRQHandler &rArr; USART_GetITStatus
</UL>
<BR>[Calls]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_ReceiveData
<LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART_GetITStatus
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[7a]"></a>USART_GetITStatus</STRONG> (Thumb, 84 bytes, Stack size 16 bytes, stm32f10x_usart.o(i.USART_GetITStatus))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = USART_GetITStatus
</UL>
<BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_IRQHandler
<LI><a href="#[34]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART2_IRQHandler
<LI><a href="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART1_IRQHandler
</UL>
<P><STRONG><a name="[7b]"></a>USART_ReceiveData</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f10x_usart.o(i.USART_ReceiveData))
<BR><BR>[Called By]<UL><LI><a href="#[35]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART3_IRQHandler
<LI><a href="#[34]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART2_IRQHandler
<LI><a href="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USART1_IRQHandler
</UL>
<P><STRONG><a name="[9]"></a>UsageFault_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f10x_it.o(i.UsageFault_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
</UL>
<P><STRONG><a name="[4a]"></a>_sys_exit</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, usart.o(i._sys_exit))
<BR><BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit_exit
</UL>
<P><STRONG><a name="[4f]"></a>delay_ms</STRONG> (Thumb, 56 bytes, Stack size 0 bytes, delay.o(i.delay_ms))
<BR><BR>[Called By]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Init
<LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI15_10_IRQHandler
</UL>
<P><STRONG><a name="[45]"></a>main</STRONG> (Thumb, 1660 bytes, Stack size 16 bytes, main.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 208<LI>Call Chain = main &rArr; TFTLCD_ShowIntNum &rArr; TFTLCD_ShowChar &rArr; TFTLCD_DrawPoint &rArr; TFTLCD_Address_Set &rArr; TFTLCD_WR_REG &rArr; TFTLCD_Writ_Bus
</UL>
<BR>[Calls]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemInit
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_ms
<LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowString
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowIntNum
<LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowFloatNum1
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowChar
<LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Init
<LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Image
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_Fill
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_DrawRectangle
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_DrawLine
<LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_DrawCircle
<LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;JTAG_Set
<LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI_NVIC_Config
<LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI_INTERRUPT_Config
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI_GPIO_Config
<LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Timer3_Init
<LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_Configuration
</UL>
<BR>[Called By]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
</UL>
<P><STRONG><a name="[6f]"></a>mypow</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, tftlcd.o(i.mypow))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = mypow
</UL>
<BR>[Called By]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowIntNum
<LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowFloatNum1
</UL>
<P><STRONG><a name="[6e]"></a>__aeabi_f2uiz</STRONG> (Thumb, 0 bytes, Stack size 16 bytes, ffixu.o(x$fpl$ffixu))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __aeabi_f2uiz
</UL>
<BR>[Called By]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowFloatNum1
</UL>
<P><STRONG><a name="[7e]"></a>_ffixu</STRONG> (Thumb, 62 bytes, Stack size 16 bytes, ffixu.o(x$fpl$ffixu), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_fnaninf
</UL>
<P><STRONG><a name="[6d]"></a>__aeabi_fmul</STRONG> (Thumb, 0 bytes, Stack size 16 bytes, fmul.o(x$fpl$fmul))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __aeabi_fmul
</UL>
<BR>[Called By]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TFTLCD_ShowFloatNum1
</UL>
<P><STRONG><a name="[80]"></a>_fmul</STRONG> (Thumb, 258 bytes, Stack size 16 bytes, fmul.o(x$fpl$fmul), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_fretinf
<LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__fpl_fnaninf
</UL>
<P><STRONG><a name="[7f]"></a>__fpl_fnaninf</STRONG> (Thumb, 140 bytes, Stack size 8 bytes, fnaninf.o(x$fpl$fnaninf), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fmul
<LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_ffixu
</UL>
<P><STRONG><a name="[81]"></a>__fpl_fretinf</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, fretinf.o(x$fpl$fretinf), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fmul
</UL>
<P>
<H3>
Local Symbols
</H3>
<P><STRONG><a name="[5b]"></a>SetSysClock</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x.o(i.SetSysClock))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = SetSysClock &rArr; SetSysClockTo72
</UL>
<BR>[Calls]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClockTo72
</UL>
<BR>[Called By]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemInit
</UL>
<P><STRONG><a name="[5c]"></a>SetSysClockTo72</STRONG> (Thumb, 214 bytes, Stack size 12 bytes, system_stm32f10x.o(i.SetSysClockTo72))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = SetSysClockTo72
</UL>
<BR>[Called By]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SetSysClock
</UL>
<P>
<H3>
Undefined Global Symbols
</H3><HR></body></html>

View File

@ -1,40 +0,0 @@
--cpu Cortex-M3
".\objects\tftlcd.o"
".\objects\core_cm3.o"
".\objects\stm32f10x_it.o"
".\objects\system_stm32f10x.o"
".\objects\startup_stm32f10x_md.o"
".\objects\misc.o"
".\objects\stm32f10x_adc.o"
".\objects\stm32f10x_bkp.o"
".\objects\stm32f10x_can.o"
".\objects\stm32f10x_cec.o"
".\objects\stm32f10x_crc.o"
".\objects\stm32f10x_dac.o"
".\objects\stm32f10x_dbgmcu.o"
".\objects\stm32f10x_dma.o"
".\objects\stm32f10x_exti.o"
".\objects\stm32f10x_flash.o"
".\objects\stm32f10x_fsmc.o"
".\objects\stm32f10x_gpio.o"
".\objects\stm32f10x_i2c.o"
".\objects\stm32f10x_iwdg.o"
".\objects\stm32f10x_pwr.o"
".\objects\stm32f10x_rcc.o"
".\objects\stm32f10x_rtc.o"
".\objects\stm32f10x_sdio.o"
".\objects\stm32f10x_spi.o"
".\objects\stm32f10x_tim.o"
".\objects\stm32f10x_usart.o"
".\objects\stm32f10x_wwdg.o"
".\objects\delay.o"
".\objects\sys.o"
".\objects\i2c.o"
".\objects\timer.o"
".\objects\usart.o"
".\objects\exti.o"
".\objects\main.o"
--strict --scatter ".\Objects\oled.sct"
--summary_stderr --info summarysizes --map --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers
--list ".\Listings\oled.map" -o .\Objects\oled.axf

View File

@ -1,15 +0,0 @@
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM1 0x08000000 0x00010000 { ; load region size_region
ER_IROM1 0x08000000 0x00010000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_IRAM1 0x20000000 0x00005000 { ; RW data
.ANY (+RW +ZI)
}
}

View File

@ -1,994 +0,0 @@
Dependencies for Project 'oled', Target 'oled': (DO NOT MODIFY !)
F (..\APP\tftlcd\tftlcd.c)(0x682A9428)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\tftlcd.o --omf_browse .\objects\tftlcd.crf --depend .\objects\tftlcd.d)
I (..\APP\tftlcd\tftlcd.h)(0x682A927A)
I (..\SYS\sys.h)(0x673A020A)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
I (D:\software\keil5\ARM\ARMCC\include\stdlib.h)(0x5475F300)
I (..\SYS\delay.h)(0x5C8B4780)
I (..\APP\tftlcd\lcdfont.h)(0x673A2A8E)
F (..\CMSIS\core_cm3.c)(0x5F47473C)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\core_cm3.o --omf_browse .\objects\core_cm3.crf --depend .\objects\core_cm3.d)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
F (..\CMSIS\stm32f10x_it.c)(0x656D199C)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_it.o --omf_browse .\objects\stm32f10x_it.crf --depend .\objects\stm32f10x_it.d)
I (..\CMSIS\stm32f10x_it.h)(0x5F473104)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\CMSIS\system_stm32f10x.c)(0x5F4760DA)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\system_stm32f10x.o --omf_browse .\objects\system_stm32f10x.crf --depend .\objects\system_stm32f10x.d)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\CMSIS\startup_stm32f10x_md.s)(0x5F47621C)(--cpu Cortex-M3 -g --apcs=interwork -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include --pd "__UVISION_VERSION SETA 514" --pd "STM32F10X_MD SETA 1" --list .\listings\startup_stm32f10x_md.lst --xref -o .\objects\startup_stm32f10x_md.o --depend .\objects\startup_stm32f10x_md.d)
F (..\STM32_LIB\src\misc.c)(0x5F47369E)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\misc.o --omf_browse .\objects\misc.crf --depend .\objects\misc.d)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
F (..\STM32_LIB\src\stm32f10x_adc.c)(0x5F47369E)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_adc.o --omf_browse .\objects\stm32f10x_adc.crf --depend .\objects\stm32f10x_adc.d)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_bkp.c)(0x5F47369E)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_bkp.o --omf_browse .\objects\stm32f10x_bkp.crf --depend .\objects\stm32f10x_bkp.d)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_can.c)(0x5F4736A0)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_can.o --omf_browse .\objects\stm32f10x_can.crf --depend .\objects\stm32f10x_can.d)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_cec.c)(0x5F4736A0)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_cec.o --omf_browse .\objects\stm32f10x_cec.crf --depend .\objects\stm32f10x_cec.d)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_crc.c)(0x5F4736A0)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_crc.o --omf_browse .\objects\stm32f10x_crc.crf --depend .\objects\stm32f10x_crc.d)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_dac.c)(0x5F4736A2)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_dac.o --omf_browse .\objects\stm32f10x_dac.crf --depend .\objects\stm32f10x_dac.d)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_dbgmcu.c)(0x5F4736A2)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_dbgmcu.o --omf_browse .\objects\stm32f10x_dbgmcu.crf --depend .\objects\stm32f10x_dbgmcu.d)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_dma.c)(0x5F4736A2)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_dma.o --omf_browse .\objects\stm32f10x_dma.crf --depend .\objects\stm32f10x_dma.d)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_exti.c)(0x5F4736A4)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_exti.o --omf_browse .\objects\stm32f10x_exti.crf --depend .\objects\stm32f10x_exti.d)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_flash.c)(0x5F4736A4)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_flash.o --omf_browse .\objects\stm32f10x_flash.crf --depend .\objects\stm32f10x_flash.d)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_fsmc.c)(0x5F4736A4)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_fsmc.o --omf_browse .\objects\stm32f10x_fsmc.crf --depend .\objects\stm32f10x_fsmc.d)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_gpio.c)(0x5F4736A4)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_gpio.o --omf_browse .\objects\stm32f10x_gpio.crf --depend .\objects\stm32f10x_gpio.d)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_i2c.c)(0x5F4736A6)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_i2c.o --omf_browse .\objects\stm32f10x_i2c.crf --depend .\objects\stm32f10x_i2c.d)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_iwdg.c)(0x5F4736A8)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_iwdg.o --omf_browse .\objects\stm32f10x_iwdg.crf --depend .\objects\stm32f10x_iwdg.d)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_pwr.c)(0x5F4736A8)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_pwr.o --omf_browse .\objects\stm32f10x_pwr.crf --depend .\objects\stm32f10x_pwr.d)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_rcc.c)(0x5F4736A8)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_rcc.o --omf_browse .\objects\stm32f10x_rcc.crf --depend .\objects\stm32f10x_rcc.d)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_rtc.c)(0x5F4736AA)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_rtc.o --omf_browse .\objects\stm32f10x_rtc.crf --depend .\objects\stm32f10x_rtc.d)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_sdio.c)(0x5F4736AA)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_sdio.o --omf_browse .\objects\stm32f10x_sdio.crf --depend .\objects\stm32f10x_sdio.d)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_spi.c)(0x5F4736AA)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_spi.o --omf_browse .\objects\stm32f10x_spi.crf --depend .\objects\stm32f10x_spi.d)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_tim.c)(0x5F4736AA)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_tim.o --omf_browse .\objects\stm32f10x_tim.crf --depend .\objects\stm32f10x_tim.d)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_usart.c)(0x5F4736AC)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_usart.o --omf_browse .\objects\stm32f10x_usart.crf --depend .\objects\stm32f10x_usart.d)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\STM32_LIB\src\stm32f10x_wwdg.c)(0x5F4736AC)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\stm32f10x_wwdg.o --omf_browse .\objects\stm32f10x_wwdg.crf --depend .\objects\stm32f10x_wwdg.d)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\SYS\delay.c)(0x673A01F4)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\delay.o --omf_browse .\objects\delay.crf --depend .\objects\delay.d)
I (..\SYS\delay.h)(0x5C8B4780)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\SYS\sys.c)(0x673A0206)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\sys.o --omf_browse .\objects\sys.crf --depend .\objects\sys.d)
I (..\SYS\sys.h)(0x673A020A)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\SYS\i2c.c)(0x673A01FB)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\i2c.o --omf_browse .\objects\i2c.crf --depend .\objects\i2c.d)
I (..\SYS\i2c.h)(0x673A0200)
I (..\SYS\sys.h)(0x673A020A)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
I (..\SYS\delay.h)(0x5C8B4780)
F (..\SYS\timer.c)(0x673A2EBD)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\timer.o --omf_browse .\objects\timer.crf --depend .\objects\timer.d)
I (..\SYS\timer.h)(0x65550428)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
F (..\SYS\usart.c)(0x673A0218)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\usart.o --omf_browse .\objects\usart.crf --depend .\objects\usart.d)
I (..\SYS\usart.h)(0x673A021D)
I (..\SYS\sys.h)(0x673A020A)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
I (D:\software\keil5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (D:\software\keil5\ARM\ARMCC\include\stdarg.h)(0x5475F2FA)
I (D:\software\keil5\ARM\ARMCC\include\string.h)(0x5475F300)
I (..\SYS\timer.h)(0x65550428)
F (..\SYS\exti.c)(0x67FE2175)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\exti.o --omf_browse .\objects\exti.crf --depend .\objects\exti.d)
I (..\SYS\exti.h)(0x67FDFB5D)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
I (..\APP\led\led.h)(0x5F5CAAC6)
I (..\SYS\delay.h)(0x5C8B4780)
F (.\main.c)(0x6801A4C7)(--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english -I E:\f103\40-tft_2_4_1\MDK-ARM\RTE -I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include -I D:\software\keil5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d)
I (..\SYS\sys.h)(0x673A020A)
I (..\CMSIS\stm32f10x.h)(0x673A5705)
I (..\CMSIS\core_cm3.h)(0x5F474740)
I (D:\software\keil5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (..\CMSIS\system_stm32f10x.h)(0x5F4760DA)
I (..\CMSIS\stm32f10x_conf.h)(0x5F473104)
I (..\STM32_LIB\inc\stm32f10x_adc.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_bkp.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_can.h)(0x5F473690)
I (..\STM32_LIB\inc\stm32f10x_cec.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_crc.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dac.h)(0x5F473692)
I (..\STM32_LIB\inc\stm32f10x_dbgmcu.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_dma.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_exti.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_flash.h)(0x5F473694)
I (..\STM32_LIB\inc\stm32f10x_fsmc.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_gpio.h)(0x5F473696)
I (..\STM32_LIB\inc\stm32f10x_i2c.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_iwdg.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_pwr.h)(0x5F473698)
I (..\STM32_LIB\inc\stm32f10x_rcc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_rtc.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_sdio.h)(0x5F47369A)
I (..\STM32_LIB\inc\stm32f10x_spi.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_tim.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_usart.h)(0x5F47369C)
I (..\STM32_LIB\inc\stm32f10x_wwdg.h)(0x5F47369E)
I (..\STM32_LIB\inc\misc.h)(0x5F47368E)
I (..\SYS\delay.h)(0x5C8B4780)
I (..\SYS\timer.h)(0x65550428)
I (..\SYS\usart.h)(0x673A021D)
I (D:\software\keil5\ARM\ARMCC\include\stdio.h)(0x5475F300)
I (D:\software\keil5\ARM\ARMCC\include\stdarg.h)(0x5475F2FA)
I (D:\software\keil5\ARM\ARMCC\include\string.h)(0x5475F300)
I (..\APP\tftlcd\tftlcd.h)(0x682A927A)
I (D:\software\keil5\ARM\ARMCC\include\stdlib.h)(0x5475F300)
I (..\APP\tftlcd\pic.h)(0x67DB901A)
I (..\SYS\exti.h)(0x67FDFB5D)
F (..\DOC\readme.txt)(0x61535B32)()

View File

@ -1,6 +0,0 @@
--cpu Cortex-M3 -g --apcs=interwork
-I E:\f103\40-tft_2_4_1\MDK-ARM\RTE
-I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include
-I D:\software\keil5\ARM\CMSIS\Include
--pd "__UVISION_VERSION SETA 514" --pd "STM32F10X_MD SETA 1"
--list .\listings\startup_stm32f10x_md.lst --xref -o .\objects\startup_stm32f10x_md.o --depend .\objects\startup_stm32f10x_md.d "..\CMSIS\startup_stm32f10x_md.s"

View File

@ -1,6 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english
-I E:\f103\40-tft_2_4_1\MDK-ARM\RTE
-I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include
-I D:\software\keil5\ARM\CMSIS\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\stm32f10x_adc.o --omf_browse .\objects\stm32f10x_adc.crf --depend .\objects\stm32f10x_adc.d "..\STM32_LIB\src\stm32f10x_adc.c"

View File

@ -1,6 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english
-I E:\f103\40-tft_2_4_1\MDK-ARM\RTE
-I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include
-I D:\software\keil5\ARM\CMSIS\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\stm32f10x_bkp.o --omf_browse .\objects\stm32f10x_bkp.crf --depend .\objects\stm32f10x_bkp.d "..\STM32_LIB\src\stm32f10x_bkp.c"

View File

@ -1,6 +0,0 @@
--c99 -c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -I..\STM32_LIB\inc -I..\SYS -I..\CMSIS -I..\APP -I..\APP\led -I..\APP\OLED -I..\APP\rc522 -I..\APP\key -I..\APP\fingerprint -I..\APP\lcd1602 -I..\APP\lcd12864 -I..\APP\tftlcd -I..\APP\LCD --locale=english
-I E:\f103\40-tft_2_4_1\MDK-ARM\RTE
-I D:\software\keil5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\Include
-I D:\software\keil5\ARM\CMSIS\Include
-D__UVISION_VERSION="514" -DSTM32F10X_MD -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER
-o .\objects\stm32f10x_can.o --omf_browse .\objects\stm32f10x_can.crf --depend .\objects\stm32f10x_can.d "..\STM32_LIB\src\stm32f10x_can.c"

Some files were not shown because too many files have changed in this diff Show More