Beaglebone Black 上的 GPIO
GPIO on Beaglebone Black
我目前遇到了 Beaglebone black 的 GPIO 引脚问题。
我正在寻找一种从 C 中的 GPIO 引脚 p8_4 读取值的正确方法。我尝试使用一个库,该库在引入设备树之前使用了一种旧的不受支持的方式,如果我理解正确。
我试图找到其他解决方案来解决我的问题,但似乎找不到。有没有人可以让我在 C 中走上正轨?
这是一个C代码:
#include <stdio.h>
int main()
{
FILE *io,*iodir,*ioval;
io = fopen("/sys/class/gpio/export", "w");
fseek(io,0,SEEK_SET);
fprintf(io,"%d",39);
fflush(io);
iodir = fopen("/sys/class/gpio/gpio39/direction", "w");
fseek(iodir,0,SEEK_SET);
fprintf(iodir,"out");
fflush(iodir);
ioval = fopen("/sys/class/gpio/gpio39/value", "w");
fseek(ioval,0,SEEK_SET);
while(1)
{
fprintf(ioval,"%d",1);
fflush(ioval);
sleep(1);
fprintf(ioval,"%d",0);
fflush(ioval);
sleep(1);
}
fclose(io);
fclose(iodir);
fclose(ioval);
return 0;
}
一定要进行正确的错误检查。
在 Beaglebone 上关注 Derek Molloy 的网站 His site
我目前遇到了 Beaglebone black 的 GPIO 引脚问题。
我正在寻找一种从 C 中的 GPIO 引脚 p8_4 读取值的正确方法。我尝试使用一个库,该库在引入设备树之前使用了一种旧的不受支持的方式,如果我理解正确。
我试图找到其他解决方案来解决我的问题,但似乎找不到。有没有人可以让我在 C 中走上正轨?
这是一个C代码:
#include <stdio.h>
int main()
{
FILE *io,*iodir,*ioval;
io = fopen("/sys/class/gpio/export", "w");
fseek(io,0,SEEK_SET);
fprintf(io,"%d",39);
fflush(io);
iodir = fopen("/sys/class/gpio/gpio39/direction", "w");
fseek(iodir,0,SEEK_SET);
fprintf(iodir,"out");
fflush(iodir);
ioval = fopen("/sys/class/gpio/gpio39/value", "w");
fseek(ioval,0,SEEK_SET);
while(1)
{
fprintf(ioval,"%d",1);
fflush(ioval);
sleep(1);
fprintf(ioval,"%d",0);
fflush(ioval);
sleep(1);
}
fclose(io);
fclose(iodir);
fclose(ioval);
return 0;
}
一定要进行正确的错误检查。
在 Beaglebone 上关注 Derek Molloy 的网站 His site