天嵌 ARM开发社区

 找回密码
 注册
查看: 1725|回复: 1

求助,按键的问题

[复制链接]
582611388 发表于 2009-5-26 16:08:22 | 显示全部楼层 |阅读模式
按键1-4是GPF1,GPF4,GPF2,GPF0吗?我写了个按键控制灯亮的程序,但是跑不出来。我用的是TQ2440的板子,谢谢!
程序如下:
#define GPBCON (*(volatile unsigned long *)0x56000010)
#define GPBDAT (*(volatile unsigned long *)0x56000014)

#define GPFCON (*(volatile unsigned long *)0x56000050)
#define GPFDAT (*(volatile unsigned long *)0x56000054)

#define GPB5_out (1<<(5*2))
#define GPB6_out (1<<(6*2))
#define GPB7_out (1<<(7*2))
#define GPB8_out (1<<(8*2))

/*k1~k4 GPF1,GPF4,GPF2,GPF0*/
#define GPF1_in ~(3<<(1*2))
#define GPF4_in ~(3<<(4*2))
#define GPF2_in ~(3<<(2*2))
#define GPF0_in ~(3<<(0*2))

int main(void) {
        unsigned long dwDat;
       
        GPBCON = GPB5_out | GPB6_out | GPB7_out | GPB8_out;
        GPFCON = GPF1_in | GPF4_in | GPF2_in | GPF0_in;
       
        while(1) {
                dwDat = GPFDAT;
               
                if (~(dwDat & (1<<1))) {
                        GPBDAT |= (1<<5);
                } else {
                        GPBDAT &= ~(1<<5);
                }
               
                if (~(dwDat & (1<<4))) {
                        GPBDAT |= (1<<6);
                } else {
                        GPBDAT &= ~(1<<6);
                }
               
                if (~(dwDat & (1<<2))) {
                        GPBDAT |= (1<<7);
                } else {
                        GPBDAT &= ~(1<<7);
                }
               
                if (~(dwDat & (1<<0))) {
                        GPBDAT |= (1<<8);
                } else {
                        GPBDAT &= ~(1<<8);
                }
       
        }

        return 0;
}
 楼主| 582611388 发表于 2009-5-26 17:11:53 | 显示全部楼层
问题解决了,因为我马虎把这里的&写成|了
    GPFCON = GPF1_in | GPF4_in | GPF2_in | GPF0_in;
惭愧...

不过我发现开发板说明书21页的按键电路标号和351页的按键电路标号不一致阿,望关注
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-15 18:53 , Processed in 1.031256 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表