gpt4 book ai didi

c - 当使用 == 或 != 时,While 循环会卡住

转载 作者:行者123 更新时间:2023-11-30 19:56:36 25 4
gpt4 key购买 nike

我正在用 C 语言对我的 rapsberry pi 上的 gpio 引脚进行编程。不,我陷入了 while 循环。当我使用 == 或 != 时,没关系,循环会卡住。这是因为当程序进入循环时,它不会更新 while 循环使用的变量的状态吗?

for(i=0;i<200;i++)
{
uint8_t valu = bcm2835_gpio_lev(SIG);
while(valu == 0)
{
uint8_t valu = bcm2835_gpio_lev(SIG);
data[i] = 0;
dan = dan + 1;
delay(0.001);
}

timeout = 0;

while(val == 1 && timeout < 70)
{
uint8_t val = bcm2835_gpio_lev(SIG);
data[i] = data[i] + 1;
dat = dat + 1;
timeout = timeout + 1;
delay(0.001);
}

delay(0.001);
}

bcm2835指令来自树莓派使用的broadcom IC的c库。

最佳答案

两个循环都不会修改 val/value,因为它在该循环中定义了一个同名的新变量,有效地隐藏了循环保护中使用的变量。

关于c - 当使用 == 或 != 时,While 循环会卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22794223/

25 4 0
文章推荐: c - C 中如何处理小括号中传递的参数?
文章推荐: c# - List 删除超过某个索引的对象(以及这样做的速度)