求大神指点这段C语言程序中的value有什么作用,具体是干什么的
发布网友
发布时间:2022-04-26 02:13
我来回答
共1个回答
热心网友
时间:2022-06-19 23:06
value初始值为0, 当>=2时报警。
所以 是当((rate <= rate_l) || (rate >= rate_h) 也就是rate超出合法范围后计数两次后开始报警
之后没发现一次取反,所以应该会是周期性质的蜂鸣-暂停-蜂鸣-暂停 效果。
个人觉得,在beep=1时应该同时赋值为value=0
不然下次第一次发生超出范围就会报警。
void clock_h_l()
{
static uchar value;
if(rate != 0)
{
if((rate <= rate_l) || (rate >= rate_h))
{
value ++; //消除实际距离在设定距离左右变化时的干扰
if(value >= 2)
{
beep = ~beep; //蜂鸣器报警
}
}
else
{
beep = 1;//取消报警
value=0;// 恢复计数
}
}else
{
beep = 1; //取消报警
value=0;// 恢复计数
}
}