• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

求大神解决下我的程序问题

IO君 2015-03-31 浏览量:808
 if(qian2==0)
{
p=1;
while(p)
 if(qian1==0)
  {r=r+1;
JIANR=0;
 delay(500);
 JIANR=1;
 p=0;
 hon=1;
 delay(500);

 } 


这段函数是在中断里的,我定义了全局变量R,但是在中断里R=R+1;却不能执行。为什么????

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答 数量:10
  • 你没有单步调试看看中断函数执行情况吗

  • 这个问题也不难找,无非就以下几种情况:

    1.没进入中断

    2.qian2==1&&qian1==1或qian2==1&&qian1==0或qian2==0&&qian1==1

    你可以调试一下,在中断中加入LED的翻转来指示程序是否有进入中断,逐个问题排除。

    p=1;
    while(p)

    这句程序完全可以改成while(1)

  • 上面回答的基本正确,还有啊,亲,中断里不要delay啊,中断处理程序应该尽可能短小

  • 先判断进中断没有。再判断标志位变化没。还有就是打印变量看看就知道了

  • 这命名好纠结,都看不懂

  • 补充一句哈!双击图片!!!

    我也第一次玩,没玩好,图片大了!

    但这不会影响我的心情的!

相关问题

问题达人换一批

求大神解决下我的程序问题