www.pudn.com > s3c2410guiRTC.rar > GPIO.C
//==================================================================== // File Name : 2410test.c // Function : S3C2410 Test Main Menu // Program : Shin, On Pil (SOP) // Date : May 30, 2002 // Version : 0.0 // History // 0.0 : Programming start (February 20,2002) -> SOP // 1.0 (20020530) : First release for customer // 1.1 (20020801) : Strata NOR Flash Added and etc. -> SOP //==================================================================== #include#include #include "def.h" #include "option.h" #include "2410addr.h" #include "2410lib.h" #include "2410slib.h" #include "mmu.h" void Isr_Init(void); void HaltUndef(void); void HaltSwi(void); void HaltPabort(void); void HaltDabort(void); void Led_Display(int data); //=================================================================== void Main(void) { int i; Led_Display(0x0f); Led_Display(0x00); MMU_Init(); ChangeClockDivider(1,1); // 1:2:4 ChangeMPllValue(0xa1,0x3,0x1); // FCLK=202.8MHz Port_Init(); Isr_Init(); Uart_Init(0,115200); Uart_Select(0); while(1) { i = 0; Uart_Printf("\n\nSMDK2410 Board (MCU S3C2410) Test Program Ver 1.1(20020801) FCLK = %d Hz\n\n", FCLK); while(1) { //display menu } } } //=================================================================== //Active is low.(LED On) // GPF7 GPF6 GPF5 GPF4 //nLED_1 nLED2 nLED_4 nLED_3 void Led_Display(int data) { // rGPFDAT = (rGPFDAT & 0xf) | !((data & 0xf)<<4); rGPFDAT = (rGPFDAT & ~(0xf<<4)) | ((~data & 0xf)<<4); } //=================================================================== void Isr_Init(void) { pISR_UNDEF = (unsigned)HaltUndef; pISR_SWI = (unsigned)HaltSwi; pISR_PABORT = (unsigned)HaltPabort; pISR_DABORT = (unsigned)HaltDabort; rINTMOD = 0x0; //All=IRQ mode rINTMSK = BIT_ALLMSK; //All interrupt is masked. rINTSUBMSK = BIT_SUB_ALLMSK; //All sub-interrupt is masked. <- April 01, 2002 SOP } //=================================================================== 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); } /* //========================= while(1) { Led_Display(3); } //========================= */ /* //========================= while(1) { Led_Display(1); Delay(1500); Led_Display(2); Delay(1500); Led_Display(4); Delay(1500); Led_Display(8); Delay(1500); } //========================= */