三个延迟时间

时间:2016-11-08 14:36:05

标签: c

如何使用for循环使15ns延时,我们只需要3个时钟脉冲就可以了。

picture

{     

    void adrf6755_lock(void)

{   unsigned int  i;

    for (i=0;i<3;i--)
 {

TIME_DelayNs(15);

ADRF6755_CE_LOW;

 }

1 个答案:

答案 0 :(得分:0)

我猜你正在为嵌入式系统开发。如果您的软件是在Linux等操作系统下构建的,则可以使用标准函数,如&#34; int nanosleep(const struct timespec * req,struct timespec * rem);&#34;此函数暂停执行调用线程,直到执行任何操作 至少* req中指定的时间已经过去。为此,您必须包含标题&#34; time.h&#34;。结构&#34; timespec&#34;定义如下:

struct timespec {
    time_t tv_sec;
    time_t tv_nsec;
}

这是一个暂停调用线程15ns的函数示例:

void delay_15ns() {

     struct timespec ts;

     ts.tv_sec = 0;
     ts.tv_nsec = 15;

     nanosleep(ts, NULL);
}