2012-02-19 134 views
0

我有一個硬件,需要打開GPIO連接的LED(查看硬件規格,GPIO BCBUSB0連接到LED),以顯示軟件在其內部運行良好。如果由於某種原因軟件沒有運行,那麼LED應該關閉或變紅。C編程控制GPIO指示燈

現在,我認爲我應該設置一個看門狗或者定期向Led發送信號的東西來顯示軟件正在運行的狀態。如果由於某種原因LEd沒有以特定的時間間隔接收信號,它應該關閉。

我在使用C語言時很舒服,但不知道如何編程GPIO來打開/關閉LED。任何建議或建議都會有很大的幫助。

謝謝

+1

你在運行什麼操作系統?什麼樣的環境? – reuben 2012-02-19 21:07:23

+0

其Linux操作系統(Ubuntu)內核版本2.6。我通過以太網端口訪問硬件。我讀了幾個文件,我想我需要在正常時間間隔發送HIGH和LOW信號來顯示軟件正在運行。但我不知道如何開始?如上所述,LED在BCBUSB上連接到GPIO(在pdf上它有48個編號),所以你們是否認爲我需要移位到48位然後操作它? – samantha 2012-02-19 21:17:54

+1

這是一個非常好的猜測,轉移1位並寫入它。要知道肯定,你需要看看原理圖。您可能需要先閱讀PIO,設置/清除LED位,然後再寫回。這樣,您不會無意中設置/清除PIO輸出。順便說一下,這個PIO ***真的有48個輸出引腳嗎?或者你想設置/清除第4位和第5位(48位十進制= 0x30)? – 2012-02-19 22:02:53

回答

3

FT2232H是一個USB轉UART轉換芯片。快速瀏覽一下datasheet,可以看出它可以放在一個比特級模式中,這是你顯然想要做的。如果您閱讀數據表的第4.10節,它會引用AN2232-02, 「Bit Mode Functions for the FT2232」,其中聲明瞭詳細信息以及如何執行此操作的一些示例。

你說你正在通過以太網與硬件通信,但聽起來不對(或者至少只是故事的一部分)。最有可能的是,FT2232H通過USB連接到處理器(可能是您的主機)。要切換GPIO引腳,您需要配置FT2232H,以便在bit-bang模式下運行。一旦你已經想出瞭如何做到這一點,你需要通過USB發送命令來切換BCBUSB0。希望這可以幫助。

+0

謝謝Sean,你的建議幫助我理解了FTDI芯片。目前我的代碼在獨立應用程序中工作正常,但是當我將它集成到基線代碼時,它不起作用。我正在研究它。再次感謝 – samantha 2012-02-29 08:24:13