static int
GPIOUnexport(int pin)
{
char buffer[BUFFER_MAX];
ssize_t bytes_written;
int fd;
fd = open("/sys/class/gpio/unexport", O_WRONLY);
if (-1 == fd) {
fprintf(stderr, "Failed to open unexport for writing!\n");
return(-1);
}
bytes_written = snprintf(buffer, BUFFER_MAX, "%d", pin);
write(fd, buffer, bytes_written);
close(fd);
return(0);
}
上記の GPIO コードに関連するいくつかの質問があります
1) ssize_t を使用する理由 なぜintを使わないのですか?
2) /sys/class/gpio/unexport" はシステム ファイルですか? そうでない場合、それは何ですか?
3) snprintf は何かをバッファに出力しますが、書き込み機能は冗長ですか? または、どの書き込み関数が別の方法で実行できますか?
4) open を使用する代わりに、代わりに ioctl 関数を使用できますか?