必须使用内核导出GPIO引脚。它是linux的简单写入文件。
C ++不起作用:
std::ofstream file("/sys/class/gpio/export");
file << gpio; // an int value
C确实:
int fd, len;
char buf[MAX_BUF];
fd = open("/sys/class/gpio/export", O_WRONLY);
len = snprintf(buf, sizeof(buf), "%d", gpio);
write(fd, buf, len);
close(fd);
有什么建议吗?
答案 0 :(得分:3)
如果变量是单个字节,则它将作为单个char
而不是十进制数输出。许多字符都不可打印,因此您可能看不到输出 - 请确保文件的二进制转储。
修复:
file << (int) gpio;