高级会员

- 积分
- 637
- 金钱
- 637
- 注册时间
- 2014-3-14
- 在线时间
- 95 小时
|
5金钱
int main(void)
{
RCC_Configuration(); //配置时钟
GPIO_Configuration(); //IO口配置
delay_init(72); //延迟函数初始化
while (1)
{
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_13)==Bit_RESET) //PA13端口按键按下
{
delay_ms(10);
if(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_13)==Bit_RESET) //确认PA13端口按键按下
{
GPIO_ResetBits(GPIOA,GPIO_Pin_8); //点亮PA8端口 LED
GPIO_ResetBits(GPIOD,GPIO_Pin_2); //点亮PD2端口LED
while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_13) != Bit_RESET); //检测PA13端口按键松开
}
}
GPIO_SetBits(GPIOA,GPIO_Pin_8); //熄灭PA8的LED
GPIO_SetBits(GPIOD,GPIO_Pin_2); //熄灭PD2的LED
}
}
这个简单程序是想PA13端口按键,按下按键LED点亮,检测到按键松开LED熄灭。
调试的时候发现while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_13) != Bit_RESET); 这一句不能实现等待按键松开。。也就是按键没有松开,程序仍然往下执行。按键没松开就关闭LED了。
按键松开等待这一句代码,不知道哪里有问题。。。改为==的句式,也不行,仍然不能等待按键松开再执行下一步。。 |
最佳答案
查看完整内容[请看2#楼]
回复【7楼】cha1992:
---------------------------------
PA13默认接在JTAG上面,你要先禁止JTAG,才能控制的.
|