~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*** main.h ***/
#ifndef __MAIN_H__
#define __MAIN_H__
#include "stdio.h"
#include "string.h"
#include "typedef.h"
#include "s3c2451_led.h"
#include "s3c2451_gpio.h"
#endif
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*** typedef.h ***/
#ifndef __TYPEDEF_H__
#define __TYPEDEF_H__
#define U32 unsigned int //32位 4字节
#define U16 unsigned short int
#define U8 unsigned char
#define U32 int
#define U16 short int
#define U8 char
#define TURE 1
#define FALSE 0
#endif
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*** s3c2451_gpio.h ***/
#ifndef _S3C2451_GPIO_H
#define _S3C2451_GPIO_H
#include "typedef.h"
/* 定义:结构体 寄存器 */
/* 将四个寄存器封装到一个结构体里。可以用指针调用相关寄存器 */1
/* 作用:存寄存器 */
/* 定义寄存器组 */
typedef struct
{
U32 GPCON;
U32 GPDAT;
U32 GPUDP;
U32 GPSEL;
}volatile *GPIO_MemMapPtr;//指针
/* 定义:只各端口 */
/* 将各个端口的寄存器挨个进行地址映射 */
/* 因为是指向结构体类型 且结构体内部每4bytes指向下一个寄存器 所以地址匹配得上 */
/* 寄存器地址映射:逻辑->物理 */
#define GPIOA_BASE_PTR ((GPIO_MemMapPtr)0x56000000)//相应端口的寄存器的地址映射
#define GPIOB_BASE_PTR ((GPIO_MemMapPtr)0x56000010)