使用 C++ 的 GPIO 引脚 RaspberryPi
GPIO Pins RaspberryPi Using C++
我正在编写一个程序来使用 C++ 控制我的 raspberryPi 上的 GPIO 引脚,但我无法使用以下代码导出:
char pathString[256];
sprintf(pathString, "%s/export", "/sys/class/gpio");
ofstream exporterFile(pathString);
exporterFile << pinNumber;
exporterFile.close()
这可以成功导出 pin,但不会设置方向:
sprintf(pathString, "%sgpio%d/direction", "/sys/class/gpio", pinNumber);
ofstream directionFile(pathString);
directionFile << pinDirection;
directionFile.close();
由于某种原因我无法写入文件,也许我没有合适的权限。我的问题是,这是问题所在吗?如果是,我该如何解决才能写入文件。
提前致谢
您需要成为 root 用户或 运行 您的程序使用 sudo 才能使用 GPIO 引脚。
但是,我建议使用 wiringpi 库 http://wiringpi.com/ 从 c/c++ 访问 GPIO。它易于使用并稍微提高了抽象级别。它还可以让您执行 PWM 之类的操作。使用wiringpi的程序也需要运行带sudo。
我正在编写一个程序来使用 C++ 控制我的 raspberryPi 上的 GPIO 引脚,但我无法使用以下代码导出:
char pathString[256];
sprintf(pathString, "%s/export", "/sys/class/gpio");
ofstream exporterFile(pathString);
exporterFile << pinNumber;
exporterFile.close()
这可以成功导出 pin,但不会设置方向:
sprintf(pathString, "%sgpio%d/direction", "/sys/class/gpio", pinNumber);
ofstream directionFile(pathString);
directionFile << pinDirection;
directionFile.close();
由于某种原因我无法写入文件,也许我没有合适的权限。我的问题是,这是问题所在吗?如果是,我该如何解决才能写入文件。
提前致谢
您需要成为 root 用户或 运行 您的程序使用 sudo 才能使用 GPIO 引脚。 但是,我建议使用 wiringpi 库 http://wiringpi.com/ 从 c/c++ 访问 GPIO。它易于使用并稍微提高了抽象级别。它还可以让您执行 PWM 之类的操作。使用wiringpi的程序也需要运行带sudo。