key_gpio.c

来自「本代码是基于三星2410的嵌入式开发实验程序代码,包括:ADC,CS8900A,」· C语言 代码 · 共 44 行

C
44
字号
#include "2410addr.h"

#define KEY1 (1 << 3)//GPG3
#define KEY2 (1 << 6)//GPG6//GPG7
#define KEY3 (1 << 7)//GPG7//GPG8
#define KEY4 (1 << 11)//GPG11

#define LED1 (1 << 4)//GPF4
#define LED2 (1 << 5)//GPF5
#define LED3 (1 << 6)//GPF6
#define LED4 (1 << 7)//GPF7

void Main(void){
    unsigned int i, nLED;   
    rGPFCON = (rGPFCON & 0x00ff) | 0x5500;//设置GPF[7:4](LED[4:1])为输出功能
    rGPGCON = rGPGCON & (~((3 << 6) | (3 << 12) | (3 << 14) | (3 << 22)));
    //rGPGCON[23,22,15,14,13,12,7,6]=0,即GPG[11,7,6,3]为输入功能
    while (1){  
        if (rGPGDAT & KEY1){//当KEY1被按下时,LED亮,否则灭
            rGPFDAT |= LED1;//熄灭LED1 
        }
        else {
            rGPFDAT &= ~LED1;//点亮LED1
        }
        if (rGPGDAT & KEY2){
            rGPFDAT |= LED2; 
        }
        else {
            rGPFDAT &= ~LED2; 
        }
        if (rGPGDAT & KEY3){
            rGPFDAT |= LED3; 
        }
        else {
            rGPFDAT &= ~LED3; 
        }
        if (rGPGDAT & KEY4){
            rGPFDAT |= LED4; 
        }
        else {
            rGPFDAT &= ~LED4; 
        }
    }
}  

⌨️ 快捷键说明

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