i=1 灭
i=2 i的二进制是 10 移动后 GPF4 5 为 0 1 取猜旅拍反后是 GPF5 为0 其他全为1 第二个灯亮
...................
以此类推
0xFF左移18位就是LEDS8被赋值为0011 1111 1100 0000 0000 0000 0000
那就是p1口控制8个LED的开关,低电平有效,就是为0时,灯是亮的,初始携孝缺化灯都是暗的慎冲,所以这八辩辩个灯都是为1,就是1111 1111,而LED灯对应的是p1口的25到18位,所以就是0xFF左移18位,至于p1口的其他位,应该是另有他用。
程序略混乱,没细看,提渣册含供点简单的思路://外部事件中断处理程序
void EXTIn_IRQ()
{
static u8 key_input_time = 0//按一下亮,按一下灭
//清中断标志位
if(!key_input_time ){
rGPBDAT=0 //点灯
}else{
rGPBDAT = 0xff //全灭如笑
}
key_input_time++
}
void main()
{
System_init() //初始时钟 中断 外设配置 IO等
while(1)
{姿袭
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)