Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Timer 如何将一个c函数的时间设置为仅执行x秒_Timer_Counter - Fatal编程技术网

Timer 如何将一个c函数的时间设置为仅执行x秒

Timer 如何将一个c函数的时间设置为仅执行x秒,timer,counter,Timer,Counter,一个需要用户输入的函数在提示符处禁用所有中断,我试图让函数运行10秒钟,然后退出或刷新。 我在avr studio 5中使用c,您可以使用: sleep(10); 这是相对准确的。要获得更高的准确性,请使用: usleep(). 两者都在: #include <unistd.h> #包括 我不确定你想做什么: while(t<50){ Lock(); t++; } sleep(100); /* end of routine.... */ while(t

一个需要用户输入的函数在提示符处禁用所有中断,我试图让函数运行10秒钟,然后退出或刷新。 我在avr studio 5中使用c,您可以使用:

sleep(10);
这是相对准确的。要获得更高的准确性,请使用:

usleep().
两者都在:

#include <unistd.h>
#包括
我不确定你想做什么:

while(t<50){
    Lock();
    t++;
}
sleep(100);
/* end of routine.... */

while(tthanks,但我使用的是avr gcc,不包含该头文件,而是avr/sleep.h。我希望函数运行10秒,然后完全退出循环。这是我所拥有的,但不起作用。
while(要退出循环,需要中断(或至少增加使用条件检查的变量)。我不确定您到底想做什么。条件t是传感器的值,而Lock()是等待用户输入的函数。如果在执行Lock时t增加,它不会中断Lock()…因此我需要让Lock()中断执行10秒,然后重新评估条件t,或在10秒后中断。通过使用不同的mcu监控传感器中断来解决…尽管这种资源使用不足:-(