2012-12-10 74 views
1

我試圖使用擴展頭來控制一對電機和輔助任務機制。爲此,我使用適當的引腳作爲GPIO,僅嘗試根據機器人的需要發送高或低信號。 (例如,我可能需要機器人向前移動,所以我會在兩組引腳上發送高信號,而如果我需要機器人轉動,則會向一個引腳發送高電平信號,向另一個引腳發送低電平信號)beagleboard上的GPIO引腳不會切換(高/低)xm

但是,問題是引腳只會保持高位!我只是通過終端遵循sysfs約定,儘管我可以將「values」,「active_lows」等設置爲0或1,但我實際上無法讓這些引腳發送0V。在檢查用於u-boot的beagle.h文件後,它看起來像多路複用器模式配置正確。當我從sys/class/gpio/gpio%/%和sys/kernel/debug/gpio獲取信息時,這也會反映出來。此外,我不會從任何地方發現任何錯誤或指示,說明有什麼問題......它不起作用!

我該怎麼辦?這是我生平第一次我似乎已經用盡了互聯網......

細節: 的BeagleBoard XM C1版本的Ubuntu 12.04 內核3.6.8-X4

+0

你確定它們設置正確嗎? EG輸入/輸出和浮動/上拉/下拉? – leppie

+0

我也建議仔細檢查一下你是否擁有你認爲你所做的引腳:引腳往往會因其默認功能而被命名(這絕不是GPIO),但有時可能將該引腳連接到另一個引腳。這引起了很多混淆 – marko

+0

一旦Linux內核啓動,u-boot配置可能不會主要負責外設配置。 –

回答

1

Im相當新來的小獵犬董事會和我最近一直在試圖配置我經典的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名)是子系統的名稱爲MUX 0設置爲你希望的GPIO引腳配置

即。對BeagleBoard的C4 GPIO 183

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

雖然我不得不改變權限來修改這些文件

正如我說我非常新的的BeagleBoard和Ubuntu,但這個工作對我來說,所以我想我會分享它與你,我希望它有一定的幫助。

問候; Paul;

+0

_已[I]試圖使用其他引腳?_ 是的。但是,我不確定它們是否像139那樣配置了GPIO。同樣根據beagle.h文件(來自u-boot),引腳139應該被配置爲輸入使能,上拉,拉*使能,和多路複用器4,使引腳gpio,所以所有的作品似乎在那裏... – derek

+0

...我將在明天回到學校時嘗試並實施解決方案。不過,我有幾條問題來自您的指示: 1.您關注網站的哪些指令? (內核,那些終端命令等) 2.您有什麼權限需要更改?只是運行'sudo su'似乎爲我工作......(和你一起看看結果如何!)... – derek

+0

感謝保羅所有的建議!我明天會在這裏報告! – derek

0

似乎beagleboard擴展引腳編號交替方式,如清晰和專業描述here

感謝大家的幫助。我現在對OMAP系統上的GPIO瞭解得更多了(您也是如此)。祝你好運總決賽/生活!**

tl; dr我是個白癡!