0

所以你可以在这个链接中看到你有一个 pwm /sys/class/pwm/。

因此,我目前正在将正确的数据放入适当的文件中,并且一切正常。

这不是问题。问题是您需要在 /sys/class/pwm/{port}/request 文件激活之前对其执行“cat”。因此,如果您重新启动它将无法正常工作,您必须重新启动它。

我试图只是 fopen("~request","r") 希望它会工作,但它没有。为“w”打开它。我也尝试过执行 exec() 但这没有用,而且很笨重。我不想做出必要的假设。

无论如何,这是我的 execv() 代码。

char *request[1];
request[0] = pwmbus;
execv("/bin/cat",request);

对文件进行分类的最优雅方法是什么?我不需要它输出的信息。它只是初始化 sysfs。否则我将不得不手动执行此操作或一直编写脚本。

cat /sys/class/pwm/gpio_pwm.0:0/request
sysfs 719
4

1 回答 1

1

您可以从文件中读取一个字节:

int fd = open("/sys/class/pwm", O_RDONLY);
char buf[1];
read(fd, buf, 1);
close(fd);
于 2012-10-20T16:23:52.213 回答