問題タブ [ftdi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2555 参照

ftdi - FTDIデバイスFT4232Hを使用して、ピンの入力として初期状態を設定します

FT4232Hと呼ばれるFTDIのUSBデバイスを使用しており、EEPROMに書き込んで、開始時にいくつかのピンが入力に設定されていることを確認したいと思います。私はD2XXドライバーを使用しています(pdfはこちら)。ここで、106ページにFT_EEPROM_4232Hという構造体があることがわかりました。これは、ピンが最初に入力に設定されていることを確認するために使用するものでしょうか、それともこれは完全に間違っていますか?A-、B-、C-、およびDDriverTypeと呼ばれる4つのUCHAR変数があります。誰かがこれらが何のために使われるべきか知っていますか?

0 投票する
2 に答える
24357 参照

python - RaspbianSoft-FloatでRaspberryPiのPythonでFTDID2XXドライバーを使用する

FTDIのD2XXドライバーによって制御されるUSBデバイスがあります。現在、Pythonインターフェイスを介してWindowsマシンから制御されており、楽しいプロジェクトとして、制御をRaspberry Piに移動してみました(PCの約1/10のコストで、OSのコストは含まれていません)。

クリアすべきハードルはたくさんありましたが、数週間後、ようやくすべての答えが見つかり、機能するようになりました。回答はいくつかのフォーラムに分散されていたので、Stack Overflowコミュニティに感謝するために、ここでそれらを統合すると思いました。

まず、必要なプロジェクト:

Wheezyディストリビューションをダウンロードし、Win32DiskImagerを使用して4GBSDカードに書き込みました。RaspberryPiは問題なく起動しました。次に、D2XXライブラリ(libftd2xx.so)を解凍し、にインストールしました/usr/local/lib

PyUSB(1.6)は現在、Windowsに対してのみテストされていますが、ソースコードを提供します。RaspberryPiのコピーをコンパイルするのは非常に簡単です。基本的に、setup.pyを変更してlibftd2xx.soライブラリにリンクします(コピーする必要はありません)。また、d2xx / _d2xx.cを編集して、Linuxが実装されていないルーチン(現在はftobj_Rescan、ftobj_Reload ftobj_GetComPortNumber)をコメントアウトします。WinTypes.hとftd2xx.hをFTDID2XXドライバーダウンロード(リリース内)ディレクトリからftdi-win32にコピーして実行python setup.py installすると、Pythonモジュールがコンパイルおよびインストールされます。

それがすべて終わったら、FTDIチップと通信するための簡単なPythonスクリプトを作成しました。sudoを介して実行する必要があることに注意してください。

d2xxモジュールはlibftd2xx.soファイルを見つけられなかったようです。そこで、setup.pyスクリプトを微調整して、ライブラリの静的コピーlibftd2xx.aにリンクしました。出来上がり、私は問題の最初の手がかりを持っていました。D2XXライブラリはソフトフロートを使用して構築され、Wheezyディストリビューションは浮動小数点レジスタを使用するように構成されていました。つまり、私のシステムのgccは、D2XXライブラリとバイナリ互換性がなく、それらをリンクできないコードを生成しました。

これを修正するために、ソフトフロートのDebian「wheezy」ディストリビューション(2012-08-08)をダウンロードし、4GBSDカードに書き込みました。今回はイメージが起動しませんでした。周りを見回した後、私はこの有用な答えを見つけました。つまり、ソフトフロートのブートイメージに問題があるため、一部のRaspberryPiボードではブートされません。解決策は、ソフトフロートディストリビューションのstart.elfファイルを、ハードフロートのRaspbianイメージからのコピーなどの機能するファイルに置き換えることです。幸い、SDカードにはFATパーティションとext3(?)パーティションの2つのパーティションがあります。ブートイメージはFATパーティション上にあるため、ハードフロートSDカードをWindowsボックスにポップし、start.elfファイルをコピーし、ソフトフロートSDカードをポップして、そのstart.elfをハードで更新するのは簡単でした。 -フロート1。その後、RaspberryPiは問題なく起動しました。

FTDIのD2XXドライバーをインストールし、PyUSBからd2xx Pythonモジュールを構築した後、テストスクリプトを再試行しました。再び失敗しました。d2xxモジュールはlibftd2xx.soライブラリを問題なく読み取ることができましたが、何らかの理由でデバイスと通信できませんでした。

0 投票する
1 に答える
557 参照

usb - FTDI アダプターを介した BeagleBoard と Arduino Pro Mini 間の通信

私は、通信のためにBeagleBoardArduino Pro Miniを接続する必要があるプロジェクトに取り組んでいます。

USB-FTDIの方法を試しました。すべてのカーネル モジュール、ftdi-siousbserialモジュールをインストールしましたが、 /devには何も表示されません。Ångströmと Ubuntuで試してみました。I²Cを使いたかったのですが、電子機器の知識が必要です。BeagleBoard のGPIOS出力は 1.8 V なので、Arduino と通信するにはレベル コンバータが必要です。

機能させるにはどうすればよいですか?

0 投票する
1 に答える
1890 参照

android - FTDI d2xx アンドロイド通信

私は TN_134 FTDI Android D2XX Driver とテスト アプリケーションを使用しようとしてきましたが、惨めに失敗しました。LogCat は、.jni ファイルをロードできず、試行するたびにアプリがクラッシュすることを通知します....jni ライブラリをロードできません。デバイスがルート化されていないためです (ルート化するつもりはありません)。同じチップセットを使用して、これをバイパスする方法はありますか? ライブラリ ファイルが不要になるように、.jni コードをテスト アプリ コードに統合する方法はありますか? デバイスのルート化を伴わない提案は何でも受け付けます。

0 投票する
0 に答える
339 参照

c - UbuntuでFTDIデバイスハンドラーをリリースするにはどうすればよいですか?

Ubuntu12.0.464ビットでFTDIチップを使用しています。初めて接続して読み書きする場合は正常に動作しています。ただし、FT_Closeを呼び出してハンドルを解放すると、デバイスからの読み取り/書き込みができなくなります。毎回FTDIデバイスを再接続する必要があります。

0 投票する
1 に答える
1229 参照

winforms - winforms: serialport から読み取り、リアルタイム データをプロットします。多くのエラー/バグ

MCU からデータを取得し、ファイルに保存してプロットしようとしています。コードはしばらくの間は正常に機能しますが、ランダムにハングアップします (1 秒後、1 分後に ...!)。また、シリアルポートのタイムアウトも考慮されていません。つまり、タイムアウト例外が発生していません。FTDI232RL チップを使用しています。タイムアウト例外が発生するのは、プログラムの実行中にプラグを抜いたときだけです。

コード:

ユーザーは、データ取得の間隔を秒単位で定義できます (コードでは、この間隔は double に変換された後の w です)。この場合、プログラムは新しいデータ送信を要求するパルスを MCU に送信します。これまでのところ、これを 1 秒間隔でテストしてきました (各間隔で、MCU はそれぞれが ADC を表す 8 つのフレームを送信することに注意してください)。ただし、ある時点でこれを 10ms 間隔で実行する必要があります。これは可能でしょうか?冒頭で述べたいくつかの問題を解決する方法について何か考えはありますか?

前もって感謝します

アップデート

何が起こっているのかを理解してもらうために、チャートの部分にコメントを付けて、読み取り間隔を 1 秒にして、プログラムを約 5 分間実行しました。そのため、出力ファイルで約 5x60=300 の値が得られると予想していましたが、39 しか得られませんでした (つまり、1 秒から 39 秒まで)。プログラムはまだ実行されていましたが、データは保存されていませんでした。テストは、デバッグ モードではなくリリース モードで行われました。デバッグ モードで、serialport->readbyte() の下にブレーク ポイントを設定しても、問題は再現されません。私の推測では、プログラムと MCU の間のタイミングの問題です。

0 投票する
3 に答える
2445 参照

c - コンパイル済みライブラリを新しいバージョンの glibc にリンクする

私は、ftdi D2XX ドライバーを使用して ENTTEC DMX usb pro デバイスと接続するプロジェクトに取り組んでいます。ftdi ドライバー (/usr/local/lib/ に格納されている libftdi2xx.so.1.1.12) は、glibc v2.14 以降のバージョンに対してコンパイルされます。

glibc v2.13までしかサポートしないdebian 7で開発しています。私が書いた C コード (ftdi ドライバーを呼び出す) を実行すると、エラーが発生します。

glibc のバージョンに互換性がないことを考えると、これは理にかなっています。glibc の最新バージョン (v2.17) をコンピューターの一時ディレクトリ ('~/glibc-testing/install/lib/') にダウンロードしてインストールし、次の呼び出しを使用しました。

この呼び出しにより、C コードを正常に実行できます。

この C コードを共有ライブラリにコンパイルしたいと思います。DMX デバイスとのインターフェイスに使用され、C# で開発されたメイン アプリケーションによって呼び出されます。

先に進む方法がわかりません。私がする必要があるように思われるのは、アプリケーションの残りの部分が通常のライブラリを使用できるようにしながら、fdti ドライバーに常に新しい glibc を使用するように指示することです。ftdi 2DXX ドライバーは、プリコンパイルされた状態でのみ入手できます (ソース コードは入手できません)。このコンパイル済みプログラムを新しいライブラリにリンクする方法はありますか?

LD_LIBRARY_PATH=/home/.../glibc/install/lib/ をエクスポートするオプションを調べましたが、ほとんど成功していません。

ありがとうございました!

0 投票する
1 に答える
620 参照

windows-7 - Windows 7 で (tclftd2xx.dll を使用して) ftd2xx open を呼び出した後、終了時に tcl/tk がハングするのはなぜですか?

Windows 8 マシンで開発した Tcl/Tk アプリがあります。アプリは、FTDI USB Windows ドライバーと tclftd2xx Tcl 拡張機能を使用して、USB デバイスを開きます。

テストの一環として、アプリを Windows 7 マシンにインストールしました。tcl を終了しようとするまで、アプリは正常に動作します。exit コマンドが実行されると、アプリがハングします。

Tkに関係あると思っていたのですが、そうではありません。Tcl コードは非常に単純です (loc 22 は単なる例です)。

これは「良い」ハングではありません。プログラム KILL でさえシャットダウンしません。これを回避する唯一の方法は、マシンをハード リセットすることです。これは、ウィンドウがアクティブなプロセスで「安全な」シャットダウンを実行しないためです。

ftd2xx リセットを呼び出すと、tcl が待機しているものはすべてクリアされ、終了が完了することがわかりました。

次のように:

今私の問題は、ユーザーがアプリを閉じる前に USB デバイスを取り外すと、ファイル ハンドル ($handle) が古くなるため、ftd2xx リセットがハングを解放できず、ハード リブートに戻ることです。

エラーが初期化にあるのか、libftd2xx.c にあるのか、FTDI ドライバーにあるのか、Tcl にあるのかわかりません。libftd2xx.c のすべてを投稿したくありません

誰かがこれについて何らかの洞察を持っているなら、私はフィードバックをいただければ幸いです。

0 投票する
0 に答える
1154 参照

linux - Avrdude が書き込めません - C232HM-DDHSL-0 Linux Mint

FT232H チップに基づく C232HM-DDHSL-0 プログラマーを使用して ATmega644p をプログラムしようとしています。

ホーム ディレクトリの .avrduderc を編集して、/etc/avrdude.conf から適用した次の内容を含めました。

avrdude を使用して MCU と通信できました。

端末への出力は次のとおりです。

-vvvv オプションを有効にして出力: http://pastebin.com/z3K8RYJP

ただし、単純な .hex ファイルをフラッシュしようとすると、フラッシュの書き込み中に停止します。

-vvvv オプションを有効にした出力: http://pastebin.com/EmmuCsxN

また、FTDI から D2XX ドライバーをインストールし、このガイドで説明されている手順に従いましたが、役に立ちませんでした: (リンクのコメントを参照)

MCU に書き込むことができないようです。最初に推測するに、プログラマーの設定が間違っていると思います。どんな助けでも大歓迎です。ありがとう!

編集:MCUとの通信に別のコマンドを使用していたことに気付きました:(

EDIT2:この設定を使用して修正しました:

0 投票する
1 に答える
651 参照

c# - FTDI FTD2XX_NET ライブラリを使用する予定の ac# Windows フォーム プログラムがあります。

FTDI FTD2XX_NET ライブラリを使用する ac# Windows フォーム プログラムがあります。FT_GetDeviceInfo、FT_GetDriverVersion などの特定の FT_ コマンドを使用するにはどうすればよいですか? 私は別の答えでこれを見つけました:

それは私にとっても機能しますが、どのように機能するのかわかりません。誰かが私にそれがどのように機能するかを説明できますか? 私は初心者なので、分析してください!前もって感謝します、