Beaglebone Black上的GPIO

3

我目前遇到了使用Beaglebone黑色板的GPIO引脚的问题。

我正在寻找一种在C语言中从GPIO引脚p8_4读取值的正确方法。我尝试过使用一个库,该库使用了一种旧的不受支持的方式,在设备树引入之前的时代中使用,如果我理解得正确的话。

我尝试找到其他解决方案,但似乎找不到一个。是否有人能帮我在C中找到正确的解决方案?


1
你解决问题了吗? - S.I.J
1个回答

9

这里是一段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;
}

请确保进行适当的错误检查。

关注Derek Molloy的Beaglebone网站他的网站


我已经修改了我的先前代码,因为这个更通用。 - S.I.J
目前正在测试这个问题,但看起来它能够正常工作!谢谢! - Joris Mathijssen
"关注Derek Molloy的Beaglebone网站"... 但那里只有视频,就好像Derek打字有困难一样。视频是学习如何做事情的恶劣方式。 - TDHofstetter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接