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

📄 main.c

📁 基于ARM7的S3C44BO基础测试实验:LCD液晶显示驱动实验.
💻 C
字号:
#include <stdlib.h>
#include <string.h>
#include "..\inc\option.h"
#include "..\inc\44b.h"
#include "..\inc\44blib.h"
#include "..\inc\def.h"
#include "..\inc\LCDTest.h"
#include"..\inc\Lcd320.h"
#include"..\inc\Lcdlib.h"

void AutoTest(void);
void Isr_Init(void);
void HaltUndef(void);
void HaltSwi(void);
void HaltPabort(void);
void HaltDabort(void);
void Quit(void);

/****************************************************************
   My first S344B0 Application
 ***************************************************************/
void * function[][2]=
{
	(void *)Test_LcdColor, 	 	   	"LCD color Test  ",
	(void *)LCD_txt, 	 	  	"LCD Text Test  ",
	 (void * )LCD_Colorbmp,          		 "LCD ColorBmp Show ",
   	 (void *)Quit,          	        		"Quit   ",
	0,0
};




void Main(void)
{
    int i;
    rSYSCFG=CACHECFG;
    __rt_lib_init();
   // ChangePllValue(32,2,1);
    Port_Init();
    Isr_Init();
    Uart_Init(0,115200);
    LCD_colInit();
    Uart_Select(0);
    Delay(0);  //calibrate Delay()
       // ClearScreen(); //clear screen
    while(1)
    {
		i=0;
			Uart_Printf("\n\n\n\n ----LCD Experiment----\n\n");
       		 Uart_Printf("\n\nS3C44B0X Test Program Ver 0.00 rSYSCFG=0x%x MCLK=%d\n\n",rSYSCFG,MCLK);
        	

		while(1)
		{   //display menu
	   		 Uart_Printf("%2d:%s",i,function[i][1]);
	    		i++;
	    	if((int)(function[i][0])==0)
	    	{
				Uart_Printf("\n");
				break;
	    	}
	    	if((i%4)==0)
				Uart_Printf("\n");
		}
		Uart_Printf("\nSelect the function to test?");
		i=Uart_GetIntNum();
		Uart_Printf("\n");
		if(i>=0 && (i<(sizeof(function)/8)) ) 
	   	( (void (*)(void)) (function[i][0]) )();
    }
}


void Isr_Init(void)
{
    pISR_UNDEF=(unsigned)HaltUndef;
    pISR_SWI  =(unsigned)HaltSwi;
    pISR_PABORT=(unsigned)HaltPabort;
    pISR_DABORT=(unsigned)HaltDabort;

    //rINTCON=0x1;	  // Vectored Int. IRQ enable,FIQ disable    
    rINTCON=0x5;	  // Non-vectored,IRQ enable,FIQ disable    

    rINTMOD=0x0;	  // All=IRQ mode
    rINTMSK=BIT_GLOBAL;	  // All interrupt is masked.
}




void HaltUndef(void)
{
    Uart_Printf("Undefined instruction exception!!!\n");
    while(1);
}

void HaltSwi(void)
{
    Uart_Printf("SWI exception!!!\n");
    while(1);
}

void HaltPabort(void)
{
    Uart_Printf("Pabort exception!!!\n");
    while(1);
}

void HaltDabort(void)
{
    Uart_Printf("Dabort exception!!!\n");
    while(1);
}

void Quit(void)
{
    Uart_Printf("Programe end successfully.\n");
    while(1);
}


⌨️ 快捷键说明

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