-
前提・実現したいことは以下の通りです
GPIOピンへのwrite -
使っている環境
Gumstix Firestorm-y
kernel 3.18 -
発生している問題・エラーメッセージ
前の環境(※)では動作していたGPIOを操作する下記プログラムが上記環境では動作しない。
system( "chmod a+w /sys/class/gpio/export" ); system( "echo 171 > /sys/class/gpio/export" ); system( "chmod a+w /sys/class/gpio/gpio171/direction" ); system( "echo out > /sys/class/gpio/gpio171/direction" ); fd = open( "/sys/class/gpio/gpio171/value", O_WRONLY ); write( fd, "1", 1 );
GPIO171に1をwriteしているのですが、1になっていません。プログラム上でエラーが発生しているわけでもないです。オシロスコープで波形を見てもHIGHになっていません。
※
旧Gumstix(型番不明)
kernel3.5
問題発生までに
①旧バージョーンのGumstixをFirestorm-yに変更しました。
②GPIOを操作するプログラムをそのまま移植しました。
プログラムで一気に流すのではなく、端末からのコマンド手動入力によって一つずつ確認する作業は行われたのでしょうか?
はい、確認しました
提案できることはそれくらいしかありませんでした。これ以上の回答は、当該ボードを所有していて実際に検証できる環境がある人でなければできないと思います。それをここで求めるのは難しいでしょう。相応のフォーラムを探すしかないのではないでしょうか?
わかりました。ありがとうございます。
「オシロで波形が出ていない」という部分で確認になるのですが、ボードのGPIO出力回路にプルアップ抵抗を追加していますでしょうか?出力設定値がデフォルトで回路がオーブンドレインだと波形がでない場合がありますので、質問させて頂きました。
ありがとうございます。新しい方のボードに旧環境(kernel3.5)のソフトを載せると動作していますので、ハードの問題ではないのかな、と思っております。
回答1件
あなたの回答
tips
プレビュー