#include <linux/delay.h>
ndelay(int n) 延时n纳秒
但是时间应该是不准的。
较为准确的延迟可以用select,但也只是us级的。
struct timeval tv
tv.tv_sec=0
tv.tv_usec=iUsec //微秒
select(0,NULL,NULL,NULL,&tv)
MontaVista 4.0 (kernel version 2.6.X) 支持HRT,可以实现微妙级的延时,好像还到不了纳秒。用关中断和busy loop来实现当然可以,但是关中断时间不能太长,而且只能在内核空间实现,肯定影响其他任务调度。如果需要长时间产生这样的信号,那感觉用不太适合用Linux来实现。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)