gpt4 book ai didi

C WiringPi 等待函数完成

转载 作者:行者123 更新时间:2023-11-30 15:18:28 25 4
gpt4 key购买 nike

我不是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;
}

它工作得很好,直到我删除带有延迟(200)的行。如何在程序完成之前等待函数 softPwmWrite 完成而不使用 delay() ?我使用 LinuxwiringPi 库。谢谢。

最佳答案

包含pthread.h并调用pthread_exit:

#include <pthread.h>

....

softPwmWrite (1, val) ;
pthread_exit(0);
}

softPwmWrite返回时,它将退出程序。 softPwmWrite 使用线程,您只需要确保您的程序不会在线程完成之前终止。当所有线程完成后,进程将最终退出。

关于C WiringPi 等待函数完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31447841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com