打印
[STM8]

学习STM8遇到的问题

[复制链接]
1185|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tianli1980|  楼主 | 2014-7-7 21:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
接触STM8不久,用查询法来检查K2(PD.7)按下否,如果按下,则LED2(PE.3)亮,再按下,LED2灭,但是烧录后,程序好像走到while(!bit_status2)后程序停住了,按下按键,灯亮,再按下,灯还是亮,无法灭。

按键函数如下,主程序只是调用这个函数,是哪里出了问题呢?真心求解。



void anjian_K2(void)  //K2按下,LED2取反

{
    BitStatus bit_status2;
    bit_status2= GPIO_ReadInputPin(GPIOE, GPIO_PIN_3);
    if (!bit_status2 )  //SET or RESET
    {
       delay_ms(2000);
       if (!bit_status2)
       {
         
         GPIO_WriteReverse(GPIOD, GPIO_PIN_0);    //LED2取反
         while(!bit_status2);
       }
      
      
    }

  
沙发
Adu0227| | 2014-7-8 01:18 | 只看该作者
那是一个死循环,当然出不来了

使用特权

评论回复
板凳
mmuuss586| | 2014-7-8 08:24 | 只看该作者
while(!bit_status2);
出在这个地方,当这个1开始读到是0,就一直循环了;
要去更新这个值;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

482

主题

2214

帖子

11

粉丝