有关Linux嵌入式操作系统的一道思考题

2025-03-19 16:29:03
推荐回答(4个)
回答1:

GPBCON = 100000000000000 | 10000000000000000 | 1000000000000000000 | 100000000000000000000 = 101010100000000000000 ,也就是把GPB14、GPB16、GPB18、GPB20这4个端口设置成输出,其他的口为输入。
GPFCON &= 0011 & 001111 & 00111111 & 0011111111也就是GPFCON &= 0000000011,就是把GPF2-9这8个端口设置为输入,然后循环检测GPF口的输入。
GPBDAT = 0000xxx0000000 | x0000000000 = 000xxxx0000000,这里的x可能是1也可能是0,取决于GPF相应端口的电平状态,如果GPF7-10这四个口都为高电平,则GPBDAT = 00011110000000,所以GPF口的状态将影响到GPB0-13,但不管怎样是不会影响GPB14、16、18、20这四个口的,所以这四个口一直为低电平。
结论就是:K1-K4无法控制任何一个LED,程序处于死循环中

回答2:

这是一个用while(1)进行循环的判断语句。return 0;初始状态表示按下。主要求gpdeat的值。当gpdeat的值小于1是退出while循环。

回答3:

首先地址定义的就有错误啊.程序一跑起来就会挂掉或者驱动根本就无法调用这个地址没有经过映射就是实际的屋里地址.感觉跑步起来.

回答4:

这是一GPIO 功能...
主要是在detect GPIO Kn 与指示灯LEDn

GPFDAT 是 Kn 状态值.
GPBDAT 是 LED IO 值(赋值,会改变状态)

没有跳出... 一直侦测Kn... 类似开关..