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

ファイルから 1 バイトを読み取ることができます。

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