我試圖使用擴展頭來控制一對電機和輔助任務機制。爲此,我使用適當的引腳作爲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
你確定它們設置正確嗎? EG輸入/輸出和浮動/上拉/下拉? – leppie
我也建議仔細檢查一下你是否擁有你認爲你所做的引腳:引腳往往會因其默認功能而被命名(這絕不是GPIO),但有時可能將該引腳連接到另一個引腳。這引起了很多混淆 – marko
一旦Linux內核啓動,u-boot配置可能不會主要負責外設配置。 –