PIC单片机论坛
直播中

林腾

12年用户 104经验值
擅长:电源/新能源 模拟技术 制造/封装 光电显示 EDA/IC设计
私信 关注
[问答]

watch提示out of scope是怎么回事?

今天仿真一个小程序,用watch查看时,value 一栏提示out of scope,这是怎么回事?哪位大哥帮手看看?

以下是程序:

#include
void delay(unsigned int time)
{
unsigned int j=0;
for(;time>0;time--)
{
  for(j=0;j<125;j++)
  {
   ;
  }
}
}
void main(void)
{
TRISD=0B00000000;
PORTD=0B00000000;
while(1)
{
  PORTD=0B11111111;
  delay(1000);
  PORTD=PORTD^0xff;
}
}

以下是watch提示:

111.jpg


回帖(3)

blust

2018-5-4 15:43:58

最佳答案

这个变量是要运行到delay里面时才会有值,运行到其他位置,都是超范围。
举报

blust

2018-5-4 16:06:23
因为这是局部变量,出了delay函数这两个变量就没有了。
举报

林腾

2018-5-4 16:36:49
引用: blust 发表于 2018-5-4 15:43
这个变量是要运行到delay里面时才会有值,运行到其他位置,都是超范围。

怪不得,我烧进程序也照样运行得欢。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分