問題タブ [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 投票する
1 に答える
343 参照

c - ライブラリがCMakeLists機能を見つけないようにする方法

自分のニーズに合わせてサードパーソンコードを調整しようとしています。このコードは、ビルドとインストールに使用されるCMake構成ファイルとともに提供されます。ライブラリの1つを選択する可能性があります。そして、コードではしばしば#ifdef USE_FTD2XXディレクティブが使用されます。これは、次のようにCMamkeFiles.txtファイルで定義されていることがわかりました。

しかし、単に*.cファイルと*.cppファイルを使用し、IDE(Codeblocks)から単純に分析して実行する場合、CMakeではなくC ++コードでこのライブラリを使用して設定するにはどうすればよいですか?また、これを常に使って修正できるようにしたいと思っています。

単に#define USE_FTD2XXメインファイルに入れるべきですか?

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

android - Nexus7 USB ホスト FTDI デバイスが検出されない

FTDI-232 ケーブルと USB->micro-USB OTG ケーブルを介して Nexus タブレットに接続されたボード上に LED ライトを備えた単純な ATMEL マイクロコントローラーがあります。

次の場合、デバイスは認識されません。

次の場合に認識されます。

次の場合に認識されます。

また、接続順序に関係なく動作する Arduino UNO ボードもあります。

OTG ケーブルが最後にタブレットに接続されている最初の例では、これが必要です。

編集:少し調べていくつかのことをテストした後、OTGケーブルは、電源が入っている最初のデバイスに基づいてホストであるデバイスを決定すると思います。ATMEL ボード/チップの電源を切ってからすべてを差し込むと、タブレットがホストとして設定されます。

そのため、Nexus7 タブレットが既に受電デバイスに接続されている場合でも、Nexus7 タブレットを強制的にホストとして設定する方法が必要です。

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

java - Linux での DLP-IO20 との通信 (FTDI チップを使用)

Linux (ubuntu) で DLP-IO20 ボードと通信しようとしていますが、毎回エラーが発生します。Windows で同じプログラムがうまく動作します。

ボードと通信するために、最初にすべての FTDI ドライバーをインストールしてから、Linux libjd2xx.so 用のライブラリーを生成しました。

JD2XX.java ファイルの Main プログラムを実行しようとすると、次のエラーが表示されます。

インデックス: 0、フラグ: 0x0、タイプ: 0x5、ID: 0x4036001、場所: 0x204、シリアル: 12345678、説明: DLP-IO20、ハンドル: 0x0 スレッド「メイン」での例外 java.io.IOException: 無効なハンドル (1)

ご覧のとおり、ボード情報はプログラムによって読み取られますが、コマンドをボードに送信しようとすると、上記の例外がスローされます。例外をスローした行は、次のコードの最後の行です。

なにか提案を?

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

android - HCL ME U1 での Android シリアル モニター ライトの実行に関する問題

このUSB シリアル モニターアプリを HCL ME U1 タブレット (ICS 4.0.3、カーネル 3.0.8) で実行しようとしています。FTDI FT232RL (USB to RS232) ケーブルを使用してタブレットをシリアル デバイスに接続しています。FTDI ケーブルをタブレットに接続すると、デバイスの接続許可を求める通知がポップアップ表示され、デバイスを開くと、接続済みというトーストも表示されます。しかし、データを書き込むと、データは送信されません。TX LED が点滅しない。そのため、データは FT232 IC を通過しません。

Oracle VirtualBoxを使用してAndroid x86で同じアプリを試しました。それはそれでうまく動作します。エラーなし。

x86 と ME u1 の両方で Slick USB 2 シリアル ターミナルを試しました。それは両方で動作します。

何が問題なのか誰かが考えている場合は共有してください。

ソースコード

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

c++ - 独自のスレッドで ttyUSB0 から読み取る

C++ を使用して ttyUSB0 からデータを読み取る際に問題があります。ttyUSB0 からブロッキング モードでデータを読み取る独自のスレッドがあります。単一の文字のみを読み取ると、データは固定ブロックで到着します(ナイスボットではありません)。これは、USB から UART へのコンバーターの FTDI チップからの内部バッファーである可能性があります。しかし、複数の文字を読み取ろうとすると、ブロックが 0 個しか表示されません。read または init コマンドにエラーはありません。この問題を解決する方法を知っている人はいますか。

送信: dfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfsfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdf

受け取る:

0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0

これが私のコードです。

誰かがこのようなことをすでに経験しているといいでしょう。ありがとう

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

usb - Windows で USB デバイスの再接続を発行する方法

FTDI チップに基づく USB デバイスがあります。時々、そのドライバーが動けなくなります。

Linux では、デバイスが自動的に切断され、デフォルトのカーネルによって再接続される問題はありません。問題はデバイス名が変更されることだけです。これは udev ルールで修正できます。

Windows の下でスタックすると、アプリケーションのスレッドread()またはwrite()その時点で完全にハングします。それは殺されることも、によってTerminateThreadも、によってもできませんKillProcess

アプリを強制終了する唯一の方法は、USB デバイスを物理的に切断することです。

プログラムでデバイスの再接続を発行する方法はありますか?これにより、ドライバーのデッドロックが解消され、ポートを再度開いて作業を続行できるようになりますか?

管理者権限アプリケーションは、必要に応じて持つことができます。

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

objective-c - USBデバイスとのFTDI通信-ObjectiveC

Enttec USBDMXProと通信しようとしています。主にDMXを受信します。

彼らはここでVisualC++バージョンをリリースしましたが、Obj-cに変換するために何をすべきかについて少し困惑しています。Enttecは、「Mac用のFTDIライブラリを使用してPROに話しかけ、D2XXプログラミングガイドを参照してデバイスを開いて話しかけます」と書いています。Objective-Cのサンプルアプリはありますか?Enttec DMX USB Proと通信する簡単な方法はありますか?

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

windows - Windows DLL によってエクスポートされた関数が Windows exe から呼び出されるときのレイテンシまたはコンテキスト シフト時間

これについて助けが必要です。

Windows DLL によってエクスポートされた関数が Windows exe から呼び出されると、待ち時間またはコンテキスト シフト時間が発生します。

これをどのように結論付けたかは、ほとんどの場合、DLL エクスポート関数が 1 ミリ秒未満で完了することが見られるということです。しかし、DLL 関数が呼び出されてから戻るまでのタイムスタンプが 600 ミリ秒である場合もあります。これにより、バッファ オーバーフローが発生し、スレーブ側でデータが失われます。実際に私が使っているのは USB から SPI へのコンバーターです。DLL は USB フィードを取り込み、相手側で SPI データを送信します。したがって、この関数が戻るのに最大 600 ミリ秒かかる場合、SPI スレーブのデータが失われます。

DLL の関数のプロファイリングでは、15 ミリ秒以上かかることはありません (ただし、この大きさの SPI 読み取りと書き込みは、15 MHz の SPI 速度を考慮するとかなり大きく、4 バイトを読み取ります)。

SOコンテキストシフトタイムですか?DLL のコードを exe 自体に組み込むことは役に立ちますか? 私が見た唯一の遅延は、この DLL の関数呼び出しの間だけです。アプリケーションが Win 7 のマッチングでより多くの CPU 時間を取得できるように、プリエンプションを行わないようにする方法はありますか。私はビジュアルスタジオを使用しています。

提案してください。これについてあなたの助けに感謝します。

ありがとう、サクル

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

macos - バス ロケーション ID に基づいて FTDI デバイスを開く

Mac に接続されている FTDI デバイスがいくつかあります。それらはすべて同じ説明、PID、および VID を持っています。FT_OpenEx() でどのファイルを開きたいか指定できるようにしたいです。

IO Kit API を使用して、関心のあるデバイスのバス ロケーション ID を取得できます。FT_OpenEX() API を使用すると、説明やシリアル番号の代わりに場所を渡すことができます。

ただし、ロケーション ID を返す FT API は、バスのロケーション ID とはまったく異なる値を返します。接続したデバイスの 1 つのバス ロケーション ID は 0x1a127000 で、FT API を使用してすべてのデバイスのロケーションを取得すると、0x1a051 や 0x1a052 などのように表示されます。

IO Kit バスのロケーション ID と FT のロケーションから変換する方法、または使用するデバイスを指定する方法はありますか?

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

linux - libftdi に不足している .so ファイルを埋める

Linux Mint を介して LPC11C14 マイクロコントローラーをプログラミングするために、ftdi が提供する ft232r ライブラリーを使用しています。ソフトウェアを初期化するには、次のコマンドを実行する必要があります。

コードを実行すると、次の問題が発生します。

ldd ft232r_prog を実行すると、次のようになります。

ファイルlibftdi.so.1は にあり/usr/lib/x86_64-linux-gnuます。実行可能ファイル ft232r_prog は .so ファイルを見つけることができないため、次のことを試しました。

  1. /usr/lib/x86_64-linux-gnu を含むようにパス環境変数を更新 -- 失敗
  2. 含むように $LD_LIBRARY_PATH 環境変数を更新しました/usr/lib/x86_64-linux-gnu-- 失敗しました
  3. 実行--ldconfig失敗/usr/lib/x86_64-linux-gnu

これは、共有ライブラリを含める際の一般的な問題のようです。どうすれば解決できるかについてのアイデアはありますか?

ありがとう