程序中的C / sys / class / pwm init

时间:2012-10-20 14:47:51

标签: c cat sysfs pwm

所以你可以在这个link中看到你有一个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

1 个答案:

答案 0 :(得分:1)

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

int fd = open("/sys/class/pwm", O_RDONLY);
char buf[1];
read(fd, buf, 1);
close(fd);