GPIO引脚不会在beagleboard xm上切换(高/低)

时间:2012-12-10 09:18:02

标签: embedded-linux beagleboard gpio

我正在尝试使用扩展头来控制几个电机和辅助任务机制。为此,我使用适当的引脚作为GPIO,只是尝试根据机器人的需要发送高或低信号。 (例如,我可能需要机器人向前移动,因此我会在两组引脚上发送高信号,而如果我需要机器人转动,我会向一个引脚发送一个高信号和一个低到另一个。)

然而,问题是引脚只会保持高位!我通过终端跟踪了sysfs的约定,虽然我能够将"值"," active_lows"等等设置为0或者1,我实际上无法将引脚发送到0V。检查我用于u-boot的beagle.h文件后,看起来多路复用器模式配置正确。当我从sys / class / gpio / gpio%/%和sys / kernel / debug / gpio获取信息时,也会反映出这一点。此外,我从任何地方都没有任何错误或迹象表明存在问题......它只是不起作用!

我该怎么办?在我生命中我第一次看似疲惫不堪的互联网...

细节: Beagleboard xm rev c1 ubuntu 12.04 内核3.6.8-x4

2 个答案:

答案 0 :(得分:1)

我对beagle主板很新,我最近一直试图在我的经典beagleboard c4上配置GPIO引脚,我相信它应该非常相似。

我的GPIO引脚中有一半似乎工作正常,另一半似乎保持高或低,无论我做了什么。即使它们的配置方式与/ sys / class / gpio /

中的工作引脚相同

您是否尝试过使用其他gpio引脚?

我最终关注http://labs.isee.biz/index.php/Mux_instructions 将多路复用器配置为4,现在我可以控制不工作的引脚。

我基本上使用了命令:

    sudo echo 0x004 > /sys/kernel/debug/omap_mux/(mux 0 name)

其中(mux 0 name)是您要配置的gpio引脚的mux 0设置子系统的名称

即。对于beagleboard c4上的gpio 183

    sudo echo 0x004 > /sys/kernel/debug/omap_mux/i2c2_sda

虽然我不得不更改修改这些文件的权限

正如我所说,我对beagleboard和ubuntu都很陌生,但这对我有用,所以我想我会与你分享,我希望它有所帮助。

的问候; 保罗;

答案 1 :(得分:0)

似乎beagleboard扩展引脚以交替方式编号,清楚而专业地描绘here

感谢大家的帮助。我现在对OMAP系统上的GPIO了解得多(对你也是如此)。总决赛/生活祝你好运!**

tl;博士我是个白痴!