【发布时间】:2015-07-16 16:32:19
【问题描述】:
我不是 C 开发人员,但我需要编写简单的程序,但我遇到了延迟问题。这是我的程序:
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <wiringPi.h>
#include <softPwm.h>
int main (int argc, char *argv[])
{
int val = 10;
if (argc > 1) {
val = atoi(argv[1]);
}
wiringPiSetup () ;
pinMode(1, OUTPUT);
softPwmCreate (1, 0, 100) ;
printf ("Soft Pwm created: %s!\n", argv[1]) ;
softPwmWrite (1, val) ;
delay (200);
return 0;
}
在我用 delay (200) 删除行之前,它工作得很好。在程序完成之前,如何在没有 delay() 的情况下等到函数 softPwmWrite 完成? 我正在使用 Linux 和 wiringPi 库。谢谢。
【问题讨论】:
-
如果您对
softPwmWrite ()有任何副作用,您可以在完成前循环检查,但无论如何,这是非常正常的方式。 -
我认为这不是关于语言的问题,而是关于特定库的问题,
softPwm,我认为。 -
delay不是标准的 C 库,C 与 C++ 不一样(所以选择一个!)。您可能正在使用某个操作系统,请说出它的名字! -
@BasileStarynkevitch,是的,抱歉,刚刚编辑了我的问题。当我说我不是 C/C++ 开发人员时,我的意思是我从来没有为这种级别编写过代码。
-
可能人们没有明白您无法创建缺失的标签。