資源簡(jiǎn)介
S5PV210按鍵控制LED,有需要的可以去下載哈

代碼片段和文件信息
//?LED
#define? GPJ2CON? (*(volatile?unsigned?long?*)?0xE0200280)
#define? GPJ2DAT (*(volatile?unsigned?long?*)?0xE0200284)
//?KEY
#define? GPH2CON? (*(volatile?unsigned?long?*)?0xE0200C40)
#define? GPH2DAT (*(volatile?unsigned?long?*)?0xE0200C44)
#define? GPJ2_0_OUTPUT? (1<<(0*4))
#define? GPJ2_1_OUTPUT? (1<<(1*4))
#define? GPJ2_2_OUTPUT? (1<<(2*4))
#define? GPJ2_3_OUTPUT? (1<<(3*4))
#define? GPH2_0_INTPUT? ~(0xf<<(0*4))
#define? GPH2_1_INTPUT? ~(0xf<<(1*4))
#define? GPH2_2_INTPUT? ~(0xf<<(2*4))
#define? GPH2_3_INTPUT? ~(0xf<<(3*4))
void?main()
{
unsigned?long?dat;
//?LED:設(shè)置寄存器GPJ2CON0使GPJ2_0/1/2/3引腳為輸出功能
GPJ2CON?=?GPJ2_0_OUTPUT|GPJ2_1_OUTPUT|GPJ2_2_OUTPUT|GPJ2_3_OUTPUT;
//?KEY:設(shè)置寄存器GPH2CON0使GPH2_0/1/2/3引腳為輸入功能
GPH2CON?=?GPH2_0_INTPUT&GPH2_1_INTPUT&GPH2_2_INTPUT&GPH2_3_INTPUT;
while(1)
{
//?讀取KEY相關(guān)的引腳值,用于判斷KEY是否被按下
dat?=?GPH2DAT;
//?判斷KEY1:GPH2_0
if(dat?&?(1<<0)) //?KEY1被按下,則LED1亮,否則LED1滅
GPJ2DAT?|=?1<<0; //?OFF
else
GPJ2DAT?&=?~(1<<0); //?ON
//?判斷KEY2:GPH2_1
if(dat?&?(1<<1)) //?KEY2被按下,則LED2亮,否則LED2滅
GPJ2DAT?|=?1<<1;
else
GPJ2DAT?&=?~(1<<1);
//?判斷KEY3:GPH2_2
if(dat?&?(1<<2)) //?KEY3被按下,則LED3亮,否則LED3滅
GPJ2DAT?|=?(1<<2);
else
GPJ2DAT?&=?~(1<<2);
//?判斷KEY4:GPH2_3
if(dat?&?(1<<3)) //?KEY4被按下,則LED4亮,否則LED4滅
GPJ2DAT?|=?1<<3;
else
GPJ2DAT?&=?~(1<<3);
}
}
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????目錄???????????0??2013-05-26?20:07??9.key_led\
?????文件????????1461??2012-12-09?19:00??9.key_led\main.c
?????文件?????????303??2012-12-02?15:53??9.key_led\Makefile
?????文件?????????180??2012-12-02?15:56??9.key_led\start.S
評(píng)論
共有 條評(píng)論