主函数标志位的值如何传入中断函数里?

2019-07-19 20:33发布

void  main(void)
{
  if(key_down(key_port,key_pin)==0)
  {
//    led1_open();
    flag++;
    if(flag == 3)
    {
      flag = 0;
    }
    while(key_down(key_port,key_pin)==0);
  }
  else
  {
//    led_close();
//    led1_close();
  }


INTERRUPT_HANDLER(TIM4_UPD_OVF_IRQHandler, 23)
{
  /* In order to detect unexpected events during development,
     it is recommended to set a breakpoint on the following instruction.
  */
    TIM4_ClearITPendingBit(TIM4_IT_UPDATE);
    //led_reset();
    switch(flag)
    {
      case 0:
             led_close();
             break;
      case 1:
             led_open();
             break;
      case 2:
             led_reset();
             break;
      default:
             break;
    }
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
电脑小白
1楼-- · 2019-07-20 00:57
 精彩回答 2  元偷偷看……
折腾无止境
2楼-- · 2019-07-20 05:03
主函数变动FLAG的值总是传不到TIM4的中断函数中,flag的定义是这样的static unsigned char flag=0;
jermy_z
3楼-- · 2019-07-20 07:18
 精彩回答 2  元偷偷看……
折腾无止境
4楼-- · 2019-07-20 11:49
jermy_z 发表于 2018-1-7 16:27
学学怎么描述问题及提问题吧

jermy_z
5楼-- · 2019-07-20 13:23
折腾无止境 发表于 2018-1-7 18:12

学学C基础吧  static代表什么意思   一个变量在多个文件调用应该怎么定义
HXYDJ
6楼-- · 2019-07-20 16:56
 精彩回答 2  元偷偷看……

一周热门 更多>