1

I am trying to use the expansion header to control a couple motors and auxiliary task mechanism. For this I am using the appropriate pins as GPIO and merely attempting to send high or low signals as needed by the robot. (For instance, I might need the robot to move forward and so I'd send high signals on both sets of pins, whereas if I needed the robot to turn I'd send a high signal to one pin and a low to the other.)

However, the problem is that the pins will only stay high! I've followed the conventions for sysfs just via the terminal, and, although I'm able to set the "values", "active_lows", etc. to 0 or 1, I can't actually get the pins to send 0V. After checking the beagle.h file I used for u-boot it looks like the multiplexer mode is configured correctly. This is also reflected when I get the info from sys/class/gpio/gpio%/% and sys/kernel/debug/gpio. Furthermore I don't get any errors or indication from anywhere that there is something wrong...it just doesn't work!

What should I do? For the first time in my life I have seemingly exhausted the internet...

details: Beagleboard xm rev c1 ubuntu 12.04 kernel 3.6.8-x4

4

2 回答 2

1

我对小猎犬板很陌生,我最近一直在尝试在我的经典 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 设置的子系统名称

IE。用于 beagleboard c4 上的 gpio 183

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

虽然我必须更改权限才能修改这些文件

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

问候; 保罗;

于 2012-12-11T04:22:50.653 回答
0

似乎 beagleboard 扩展销以交替方式编号,如此清晰和专业地描绘

感谢大家的帮助。我现在对 OMAP 系统上的 GPIO 的了解比我应该知道的多得多(你也一样)。祝你在决赛/生活中好运!**

tl;博士我是个白痴!

于 2012-12-12T05:57:35.557 回答