初级会员

- 积分
- 107
- 金钱
- 107
- 注册时间
- 2016-6-2
- 在线时间
- 22 小时
|
超声波测距输入捕获实验,函数get_dis(ch)表示將捕获到的高电平其转化为距离后返回(ch表示捕获通道),如果函数中采用这种写法:
while(1)
{
delay_ms(500);
dis1=get_dis(1);
printf("DIS1:%.2f cm\r\n",dis1);
}
程序能够很好地执行,但是当写成下面这种时:
while(1)
{
delay_ms(500);
dis1=get_dis(1);
dis11=get_dis(1);
printf("DIS1:%.2f cm\r\n",dis1);
printf("DIS11:%.2f cm\r\n\r\n",dis11);
}
结果显示出来DIS1是正常的,DIS11位0(没有捕获到)。
无论在两条语句中间加多长时间的延迟,最后还是一个正常,一个为0。
请各位大神指教!!!
|
|