2012-02-19 7 views
0

ハードウェアがGPIO(GPIO BCBUSB0がLEDに接続されていることを確認してください)に接続されたLEDをオンにする必要があるハードウェアがあります。なんらかの理由でソフトウェアが動作していない場合は、LEDが消灯するか赤色になるはずです。GPIO LEDを制御するためのCプログラミング

ここで、定期的に信号をLedに送信してソフトウェアが動作していることを示すウォッチドッグなどを設定する必要があると考えました。何らかの理由でLEdが特定の間隔で信号を受信しない場合、LEdはオフになります。

私はC言語を使用するのがとても快適ですが、LEDをオン/オフするようにGPIOをプログラミングすることは考えていません。どんなアドバイスや提案も大きな助けになるでしょう。

ありがとう

+1

実行中のOSは何ですか?どのような環境ですか? – reuben

+0

Linuxオペレーティングシステム(Ubuntu)kernalバージョン2.6私はイーサネットポートを介してハードウェアにアクセスしています。私はいくつかのドキュメントを読んで、ソフトウェアが動作していることを示すために、定期的にHIGHとLOW信号を送る必要があると思います。しかし、私は始める方法を知らない? LEDがBCBUSB0でGPIOに接続されていると書いてありますが(pdfには48が書かれています)、48人までシフトして操作する必要があると思いますか? – samantha

+1

1ビットシフトして書き込むのは非常に良い推測です。確かに知るには、回路図を見る必要があります。最初にPIOを読んで、LEDビットをセット/クリアしてから書き戻したいと思うかもしれません。これにより、PIO出力を誤って設定/クリアすることはありません。ところで、PIO ***には本当に48の出力ピンがありますか?または、ビット4と5(48小数= 0x30)を設定/クリアしますか? –

答えて

3

FT2232HはUSB-to-UARTコンバータチップです。 datasheetを一目見てみると、明らかにしようとしているビットバンモードに置くことができます。データシートの4.10節を読んだ場合は、AN2232-02, “Bit Mode Functions for the FT2232”を参照しています。これには詳細が記載されており、これを行う方法の例がいくつかあります。

あなたはイーサネット経由でハードウェアと通信していますが、それは正しいとは言えません(少なくとも、その話の一部に過ぎません)。おそらく、FT2232HはUSB経由でプロセッサ(おそらくホストマシン)に接続されています。 GPIOピンをトグルするには、FT2232Hをビット・バン・モードで動作させるように設定する必要があります。これを行う方法を理解したら、USB経由でコマンドを送信してBCBUSB0を切り替える必要があります。お役に立てれば。

+0

ありがとうSean、あなたの提案は私にFTDIチップの理解を助けました。現時点では、私のコードはスタンドアロンアプリケーションで正常に動作していますが、ベースラインコードに組み込んでも機能しません。私はそれを調べている。もう一度ありがとう – samantha

関連する問題