微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法访问 BeagleBone Black GPIO

如何解决无法访问 BeagleBone Black GPIO

我有一个 BeagleBone Black 板,我正在使用下面提到的图像文件https://debian.beagleboard.org/images/bone-debian-10.3-iot-armhf-2020-04-06-4gb.img.xz

我的目标是用c编程语言操作这块板的GPIO引脚。

为此,我浏览了此链接https://beagleboard.org/static/librobotcontrol/installation.html

按照此链接执行所有步骤后,我获得的结果与本文档的检查功能步骤 [最后一步] 中提到的相同。

此外,我按照此文档进行 c 语言设置: https://github.com/beagleboard/librobotcontrol/blob/master/docs/src/project_template.dox

并运行此源代码https://beagleboard.org/static/librobotcontrol/rc_test_leds_8c-example.html

所有这些过程都完成了,没有任何错误

################################ 现在我想访问电路板的 GPIO 引脚。为此,我准备了一个基本代码

我们以引脚 P8_10 / GPIO2[4] 为例。因此,我的代码将是:

#include <stdio.h>
#include <rc/led.h>
#include <rc/gpio.h>
#include <rc/time.h>
//#define WAIT_US 500000 // time to light each LED in microseconds
int main()
{
rc_gpio_init(2,4,GPIOHANDLE_REQUEST_OUTPUT); /* declare as output*/
rc_gpio_set_value(2,1); /* set high */
rc_gpio_cleanup(2,4);
    return 0;
}

执行此代码后,我没有得到预期的输出

关于此代码,您对我有什么建议吗? 或者有没有其他方法可以做到这一点?

谢谢。

解决方法

试试 config-pin gpio

config-pin p9.9 gpio

然后尝试您的来源。如果这不起作用,并且如果在 BBB 上混合 gpio 引脚会给您带来问题。您可以随时通过以下方式测试您的特定引脚:

config-pin -q <Your Specific Pin Used>

例如:config-pin -q p9.9 会告诉您它是如何混合的。

此外,大多数引脚都可以通过 mvduin 的测试脚本找到。

这里是 github 上的在线站点:https://github.com/mvduin/bbb-pin-utils

这里:https://beagleboard.org/Support/bone101

那个网站,一旦向下滚动,就会显示一系列不同的方法来将你的 BBB 与 GPIO、i2c、UART 等进行多路复用...

这和更多可以成为在 librobotcontrol 库下使用 C 语言进行编程之外的 BBB 工作的良好基础。

此外,这里是关于在 C 库中处理 GPIO 的方式的一个很好的开端。有问题:https://beagleboard.org/librobotcontrol/group___g_p_i_o.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。