DSP程序做延时 并不是在需要延时的地方while循环等待多少秒,而是通过整个程序的执行时间来做延时。假设fun1()需要每10秒才能执行一次,通常会在fun1()里面加sleep(10);但
是这样程序每次执行到fun1()都要停10秒,其他程序无法执行了。DSP为单进程 ,所以不能这样。
假设fun1()是由fun()里面调用的,那么就这样写
fun()
{
if(conut<2000)
{
conut++;
}else
{
fun1();
}
}
就是单程序每执行2000次之后,才执行1次fun1();用整个程序运行的时间来做延时。这样就不会出现卡在fun1()等待的情况了,增加了程序的运行效率。