📄 main.c
字号:
#include "option.h"
#include "def.h"
#include "44b.h"
#include "44blib.h"
#include "GUI.H"
#include "DIALOG.H"
#include "WM.h"
#include "button.h"
#include "progbar.h"
extern void ADS7843_Init( void ) ;
extern void Touch_Panel_Press_Center( void ) ;
extern const GUI_BITMAP bmfantsy;
extern const GUI_BITMAP bmfrog;
extern const GUI_BITMAP bmucdragon_320_320;
extern const GUI_BITMAP bmWaterlilies;
extern const GUI_BITMAP bmHondaS2K1;
extern const GUI_BITMAP bmHondaS2K2;
extern const GUI_BITMAP bmLuigi;
extern const GUI_BITMAP bmMario;
extern const GUI_BITMAP bmRebeccaRomijnStamos;
extern const GUI_BITMAP bmtwins;
/******************************************************************************
【功能说明】系统主函数
******************************************************************************/
void Main(void)
{
int i;
rSYSCFG = CACHECFG; // Using 8KB Cache//
Port_Init();
ADS7843_Init() ; //触摸屏ADS7843初始化
Timer3_TouchExe_Init(); //定时器初始化
Uart_Init(0,115200);
Delay(0);
Uart_Select(0);
Uart_Printf( "\n\t FS44B0XII V3.00 uC/GUI Demo\n" ) ;
Uart_Printf( "\t Updata at 2004/12/28 By GongJun\n" ) ;
About_Function() ;
GUI_Init();
while(1)
{
GUI_Clear();
GUI_DrawBitmap(&bmucdragon_320_320,0,0); //显示图片
Delay(40000) ;
//*********************************************************************
Uart_Printf( "\n\n\t触摸屏校准\n" ) ;
_ExecCalibration(); //触摸屏自校准
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
//_TestCalibration(); WaitKey();
//_ExecKeyboard(); WaitKey();
GUI_Clear();
GUI_SetBkColor(GUI_RED);
GUI_SetColor(GUI_WHITE);
GUI_SetFont(&GUI_Font24_ASCII);
GUI_DispString("\n\nFS44B0XII V3.00 uC/GUI Demo ");
GUI_DispString("\n\nHttp://www.uCdragon.com ");
GUI_SetFont(&GUI_Font8x16);
GUI_DispString("\n\nTouch the center of LCD to continue...");
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
Uart_Printf( "\n\n\t各种字体演示" ) ;
GUI_Clear();
GUI_SetFont(&GUI_Font6x8);
GUI_DispString("\nGUI_Font6x8");
GUI_SetFont(&GUI_Font8x8);
GUI_DispString(" GUI_Font8x8");
GUI_SetFont(&GUI_Font8_ASCII);
GUI_DispString("\nGUI_Font8_ASCII");
GUI_SetFont(&GUI_Font8x16);
GUI_DispString(" GUI_Font8x16");
GUI_SetFont(&GUI_Font16_ASCII);
GUI_DispString("\nGUI_Font16_ASCII");
GUI_SetFont(&GUI_Font16B_ASCII);
GUI_DispString("\nGUI_Font16B_ASCII");
GUI_SetFont(&GUI_Font16B_ASCII);
GUI_DispString("\nGUI_Font16B_ASCII");
GUI_SetFont(&GUI_Font24_ASCII);
GUI_DispString("\nGUI_Font24_ASCII");
GUI_SetFont(&GUI_FontComic24B_ASCII);
GUI_DispString("\nGUI_FontComic24B_ASCII");
GUI_SetFont(&GUI_Font32_ASCII);
GUI_DispString("\nGUI_Font32_ASCII");
GUI_SetFont(&GUI_Font32B_ASCII);
GUI_DispString("\nGUI_Font32B_ASCII");
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
Uart_Printf( "\n\n\t色彩演示(本LCD最高支持256色)" ) ;
GUI_Clear();
GUI_SetFont(&GUI_Font16_ASCII);
GUI_DispString("\n Colors Demo");
ShowColorBar();
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
/*
Uart_Printf( "\n\n\t位图演示" ) ;
GUI_Clear();
GUI_SetBkColor(GUI_BLUE);
GUI_SetColor(GUI_WHITE);
GUI_SetFont(&GUI_Font16_ASCII);
GUI_DispStringAt("Bitmap Demo",120,20);
GUI_SetFont(&GUI_Font8x16);
GUI_DispStringAt("Touch the center of LCD to continue...",10,112);
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
GUI_DrawBitmap(&bmHondaS2K1,0,0);
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
GUI_DrawBitmap(&bmHondaS2K2,219,0);
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
GUI_DrawBitmap(&bmLuigi,0,160);
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
GUI_DrawBitmap(&bmMario,219,160);
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
GUI_DrawBitmap(&bmtwins,110,80);
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
*/
Uart_Printf( "\n\n\t画图演示" ) ;
GUI_Clear();
GUI_DrawBitmap(&bmfrog,0,0);
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
Uart_Printf( "\n\n\t画图演示" ) ;
GUI_Clear();
GUI_DrawBitmap(&bmucdragon_320_320,0,0);
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
/*
Uart_Printf( "\n\n\t绘图函数演示1" ) ;
GUI_Clear();
GUI_SetBkColor(GUI_BLUE);
GUI_SetColor(GUI_WHITE);
GUI_SetFont(&GUI_FontHZ12);
GUI_DispString("绘图函数演示1");
GUI_SetDrawMode(GUI_DRAWMODE_NORMAL);
GUI_FillCircle(120, 64, 40);
GUI_SetDrawMode(GUI_DRAWMODE_XOR);
GUI_FillCircle(140, 84, 40);
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
Uart_Printf( "\n\n\t绘图函数演示2" ) ;
GUI_Clear();
DrawPolygon();
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
Uart_Printf( "\n\n\t绘图函数演示3" ) ;
GUI_Clear();
for (i=10; i<50; i++)
GUI_DrawCircle(100,100,i);
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
Uart_Printf( "\n\n\t绘图函数演示4" ) ;
GUI_Clear();
GUI_SetColor(0xff);
GUI_FillEllipse(100, 100, 50, 70);
GUI_SetColor(0x0);
GUI_DrawEllipse(100, 100, 50, 70);
GUI_SetColor(0x000000);
GUI_FillEllipse(100, 100, 10, 50);
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
Uart_Printf( "\n\n\t绘图函数演示5" ) ;
GUI_Clear();
DemoAntialiasing();
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
*/
Uart_Printf( "\n\n\t消息窗口演示" ) ;
GUI_SetDefault();
GUI_Clear();
GUIDEMO_Messagebox();
Uart_Printf( "\n\n\t颜色调整演示" ) ;
Dialog_SliderClolor();
Uart_Printf( "\n\n\t对话框演示" ) ;
Dialog_All();
Uart_Printf( "\n\n\t仪表盘演示1" ) ;
GUI_Clear();
ShowHiresAntialiasing();
Uart_Printf( "\n\n\t仪表盘演示2" ) ;
DemoScale();
Uart_Printf( "\n\n\t进度条演示" ) ;
Widget_Progbar();
/*
Uart_Printf( "\n\n\t列表框演示" ) ;
DemoListbox();
Uart_Printf( "\n\n\t电话按键演示" ) ;
DemoButton();
*/
Uart_Printf( "\n\n\t旋转多边形(分层图形)演示" ) ;
GUI_Clear();
DemoBandingMemdev();
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
Uart_Printf( "\n\n\t波形演示" ) ;
GUI_Clear();
Demo_DrawGraph();
GUI_Clear();
GUI_SetBkColor(GUI_BLUE);
GUI_SetColor(GUI_WHITE);
GUI_SetFont(&GUI_Font24_ASCII);
GUI_DispString("\n\nuC/GUI Demo is finished!!! ");
GUI_SetFont(&GUI_Font8x16);
GUI_DispString("\n\nTouch the center of LCD to replay...");
Touch_Panel_Press_Center() ; //等待直到触摸笔点击屏幕中心点再进入下一步
}
}
//*******************************************************************************************************
//*******************************************************************************************************
void DebugUNDEF(void)
{
Uart_Printf("Enter DebugUNDEF");
while(1)
{
Led_Display( 0xf ) ; Delay( 1000 ) ;
Led_Display( 0x0 ) ; Delay( 1000 ) ;
}
}
//*******************************************************************************************************
void DebugSWI(void)
{
Uart_Printf("Enter DebugSWI");
while(1)
{
Led_Display( 0xf ) ; Delay( 1000 ) ;
Led_Display( 0x0 ) ; Delay( 1000 ) ;
}
}
//*******************************************************************************************************
void DebugPABORT(void)
{
Uart_Printf("Enter DebugPABORT");
while(1)
{
Led_Display( 0xf ) ; Delay( 1000 ) ;
Led_Display( 0x0 ) ; Delay( 1000 ) ;
}
}
//*******************************************************************************************************
void DebugDABORT(void)
{
Uart_Printf("Enter DebugDABORT");
while(1)
{
Led_Display( 0xf ) ; Delay( 1000 ) ;
Led_Display( 0x0 ) ; Delay( 1000 ) ;
}
}
//*******************************************************************************************************
void DebugFIQ(void)
{
Uart_Printf("Enter DebugFIQ");
while(1)
{
Led_Display( 0xf ) ; Delay( 1000 ) ;
Led_Display( 0x0 ) ; Delay( 1000 ) ;
}
}
//*******************************************************************************************************
/********************************************************************************************************
【功能说明】
********************************************************************************************************/
void Isr_Init(void)
{
rINTMSK=BIT_GLOBAL; // All interrupt is masked.
//rINTCON=0x1; // Vectored Int. IRQ enable,FIQ disable
rINTCON=0x5; //Non-vectored,IRQ enable,FIQ disable
rINTMOD=0x0; //All=IRQ mode
pISR_UNDEF=(unsigned)DebugUNDEF ;
pISR_SWI =(unsigned)DebugSWI ;
pISR_PABORT=(unsigned)DebugPABORT ;
pISR_DABORT=(unsigned)DebugDABORT ;
}
//******************************************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -