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

android - USB ホストと FTDI デバイスを使用してデータを受信する

私は、Android フォンと、USB 通信に FTDI チップ (FT232R) を使用するマイクロコントローラーとの間でデータを交換できるようにするプログラムに取り組んでいます。これまでのところ、アプリケーションの残りの部分に影響を与えずに USB 通信を実行できるスレッドを作成できました。さらに、初期化と FTDI デバイスへのデータ送信の両方に成功しましたが、デバイスからデータを読み取ることができないようです。100 ミリ秒ごとに 4 バイトのパケットを送信するように USB デバイスを設定して、パケットを読み取ってバスにエコー バックできるかどうかを確認しました。ただし、データを読み取ることができません。

デバイス側では、4 バイトの ASCII パケット ''a''b''c''d' を 100 ミリ秒ごとに送信しています。ホスト側、具体的には USB スレッドで、このデータを受信できるかどうかを確認しようとしています。受信バッファーの最初の位置が、送信されている文字 (a、b、c、または d) のいずれかと等しいかどうかを確認する while ループ内でデータを読み取っています。これを行った理由は、データがごちゃ混ぜになっている疑いがあったからです。while ループ内では、毎回バッファがクリアされます。次に、bulkTransfer 関数が呼び出されてデータの受信を試みます。正しく理解できれば、64 バイトを受信するか、1000 ミリ秒が経過するまで (タイムアウト) データを受信します。次に、バッファの最初の要素にある 4 文字のいずれかをチェックして、送信されたデータを受信したかどうかをチェックします。文字を検出すると、while ループが終了し、バッファから最初の 4 文字をバスに送信します。ただし、ロジック アナライザーでバスを監視していますが、ホストからの送信をまったく検出できず、データを受信して​​いないことがわかります。どんな助けでも大歓迎です。この時点に到達するために多くの作業を行いましたが、行き詰まっているようです。ありがとうございました。この時点に到達するために多くの作業を行いましたが、行き詰まっているようです。ありがとうございました。この時点に到達するために多くの作業を行いましたが、行き詰まっているようです。ありがとうございました。

USB スレーブ コード (C プログラム)

Android コード

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

c++ - Windows 7 での qt 5.2 シリアル ポート書き込みの問題

ハードウェアで FTDI シリアル ポート CHIP を使用しています。現在、Linux で動作するコードがあり、Windows 7 に移行しました。奇妙な問題がいくつか発生します。

問題: これを行う他のコンソール アプリケーションを実行しないと、シリアル ポートにデータを書き込むことができません。

だから、すべてを読んでループするだけです。ハードウェアは何も送信しないため、読み取りは無限ループにすぎません。書き込みプログラムを閉じて実行すると、正しく実行されます。

read all を実行すると動作しますが、read all を実行しないと動作しません。私たちは何を間違っていますか?ありがとう。

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

linux - 組み込み Linux アーム用の FTDI VCP ドライバーのクロス コンパイル

組み込み Arch Linux アーム マシン用に FTDI VCP ドライバーをクロス コンパイルしようとしています。http://www.ftdichip.com/Drivers/VCP.htmからカーネルを実行しているホスト マシンにソース ファイルをダウンロードしました。

2.6.32-54-ジェネリック-pae

Makefile を実行すると、カーネル ヘッダーに関連するエラーが発生します。つまり、asm/thread_info.h ファイルが見つかりません。これは私のasmシンボリックリンクが壊れていることを意味することに気付いたので、リンクしてみました

linux-headers-2.6.32-54/include/asm-ジェネリック

しかし、そのディレクトリの内容には、私が見つけようとしているthread_info.hも含まれていません。

ホストとして Ubuntu を使用して組み込み arch linux アーム用の FTDI VCP ドライバーをクロスコンパイルした人はいますか?正しい方向に向けることができますか? 私はカーネルモジュールの構築とクロスコンパイルに不慣れで、助けていただければ幸いです。

誰かがさらに情報を必要とする場合は、喜んで追加します。

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

linux - FTDI カーネル モジュールをコンパイルする

USB シリアル ポート ドライバーを arch linux アーム デバイスに追加しようとしていますが、カーネル ソース ツリーには、FTDI ドライバーのソース ファイルが既に次の場所に含まれていることに気付きました。

drivers/usb/serial には、ftdi_sio.c および ftdi_sio.h ファイルが存在します。

カーネル/ドライバーに移動すると、ftdi_sio.ko モジュールがどこにも見つかりません。

ftdi カーネル モジュールをビルドしてブートに含めるにはどうすればよいですか?

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

ios - シリアルまたは HID (usb) iOS での通信 (iPhone/iPad)

iPhone または iPad デバイスに接続して、血糖測定器デバイスからデータを取得したいと考えています。私はさまざまなベンダーのグルコースメーターを持っていますが、一部は通信に単純な HID インターフェイスを使用し、他のベンダーはシリアル通信を使用しています。

次の 2 つの通信方法が考えられます。

  • USB から 30 ピン コネクタ。
  • 3.5 ジャックから 30 ピン コネクタ。

USB または 3.5 ジャックをグルコース メーターに接続し、30 ピン コネクタを iDevice に取り付けます。

何時間もの調査を行った後、iOS 固有のインターネットに関するヘルプはあまり見つかりませんでした。

ORSSerialPort は見つかりますが、OS X アプリ専用だと思います。

RedPark シリアル ケーブルがありますが、これは RS232 から 30 ピンへの通信用であり、内部プロジェクトでのみ使用できます。アプリケーションを Apple Store で販売したいと考えています。

誰かが IOKit フレームワークの使用についても議論していました。iDevie と通信できますが、それはプライベート フレームワークです。

誰かがこの問題を手伝ってくれるか、iOS アプリケーションでそれが可能かどうか教えてください。

Apple はこの種の作業について考慮していますか?

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

windows - シリアルポート QT を閉じる正しい方法

QT を使用してハードウェア シリアル デバイスに接続しています。アプリケーションはターミナルの例にほぼ基づいていますが、通信は非常に同期する必要があるため、シリアル ハンドラは別のスレッドに存在します。接続は、FTDI チップセットを備えた 2xRS232 から USB へのアダプターを介して行われます。

シリアル通信は問題なく、接続、コマンドの送信などはできます。ただし、アプリケーションを終了してリロードすると、シリアル ポートがブロックされているようです。

COM1 を接続デバイスとし、COM2 は未接続です。

プログラムを実行し、ハードウェアと少し対話して終了すると、COM2 に接続しようとしない限り、次にプログラムを実行するときに COM1 に接続できなくなります (アダプターのデータ LED は点滅しません)。最初。これを試したら、通常どおり COM1 に接続できます。この動作は、ハードウェアのリファレンス ユーティリティでは見られないため、ポートを処理している何らかの方法が原因である必要があります。

私の近いコードは次のとおりです。

serialですQTSerialPort。最初に、ハードウェアの電源をオフにする停止コマンドが送信され (問題とは関係ありません。これは単に便利です)、次に、シリアルに終了コマンドを送信します。

メインウィンドウ用にサブクラス化された QWidget があり、終了時に次のコマンドを呼び出します。

この動作には何か理由がありますか? どういうわけか開いているポートをブロックしていると思いますが、確かに、すでに開いていると不平を言うでしょう。

もう 1 つの奇妙な問題は、デバイスが COM1 にあり、それを自分のアプリケーションで開くと、他のユーティリティで COM1 が応答せず、デバイスが COM2 に表示されるということです。ただし、プログラムに戻って少しいじると、デバイスが再び COM1 に表示されます (ただし、他のアプリケーションでは常に COM2 に表示されます)。

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

c - avrとLinuxの間で、Linuxのシリアルポートに問題があります

こんにちは、avr atmega32a と Linux ディストリビューションの間で通信しようとしています。USBポートでftdiチップを使用しています(VCOMドライバーなど)

avr と linux のコードを投稿しますが、minicom でテストしたところ avr のコードは正常に動作します。

ここでの問題は、Linux 上の私のコードにあると思います。基本的な問題は、機能する場合と機能しない場合があることです。ファイル記述子またはポート自体の開閉に関係があると思います。

なぜ私はこれを言っているのですか?

avr のコードは単純なことを行います。ボタンが押されるのを待ってから、「Hello world」の送信を永久に開始します。

したがって、minicom を使用すると問題なく動作します。

プログラムを初めて使用し、ボタンが押されるのを待つと、ボタンを押してもポートから何も読み取れないようです。

次に、minicom を開くと、すぐに読み取りが開始されます (ボタンが押されたため)。次に、minicom を閉じてプログラムを開くと、問題なく動作します....

ファイル(ポート)の開閉に問題があるようですが、よくわかりません。とにかく、これは十分に安定していません。

どんな助けでも感謝します。

私が書きたいのは、シリアルポートから連続して読み取ることです。読み取りのブロックについて読んだことがありますが、それを実装しようとするとうまくいかないようです。

ありがとう。

UPDATE* * else if (wordsRead < 0) printf("Error reading\n"); を追加しました。初めて読み取るときに-1になっているようですが、なぜこれが起こっているのかわかりません「Hello world」のプリント....

これが私のコードAVRのみの主な機能です。

これがLinux上の私のCコードです。

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

android - FTDI シリアル I2C から Android Eclipse Java アプリにバイトを読み取れない

OTG ケーブルを介して Android 4.2 タブレットに接続された FTDI UMFT201XB (I2C シリアル USB インターフェイス) があります。FTDI は PIC MCU に接続されています。FTDI のサンプル TN-147 を実行したところ、デバイスが正しく認識されました。

MCU が UMFT201XB に送信した 12 バイトを読み取るように、TN-147 の例を改造しました。

コードは次のとおりです。

私の問題は、実行時device_time = 200 (dec)、、、、iavailable1 = 00およびiavailable2 = 12(Dec)ですiavailable3 = 12(Dec)

明らかに、200はから来ました

ftDevice.read(databuf1,iavailable2)にバイトをフェッチしませんdatabuf1。そして、使用可能なバイトは残ります12(Dec)( iavailable3 = 12)。

助けてください。

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

c++ - QtCreator で FTD2xx ライブラリを使用する方法 (MSVC2012 コンパイラを使用)

D2xx ドライバーを介して FTDI デバイスと通信するアプリケーションを作成するのに問題があります。ftdi の Web サイトに Visual Studio のサンプル プロジェクトがあります。しかし、QtCreator にはありません。私のアプリケーションには Qt フレームワークが必要なので、C++ IDE として QtCreator を選択しました。ftd2xx.h と ftd2xx.lib を Qt プロジェクト ディレクトリに配置します。

(ftd2xx.lib はスタティック ライブラリで、元々 [ダウンロード フォルダー]\CDM v2.08.30 for Windows 8.1\Static\i386 にありました)

サンプルソースコードをコンパイルすると、以下のエラーメッセージが表示されました。

.pro ファイルを使用するとエラー メッセージが表示されます(1)。

.pro ファイルを使用するとエラー メッセージが表示されます(2)。

ftd2xx ライブラリを利用するには、Qt プロジェクトのセットアップをどのように修正すればよいですか?

私のソース コードと .pro ファイルはこちらです。

[main.cpp]

[チェックボックスが有効な場合の.proファイル] ---(1)

[チェックボックスが有効になっていない場合の.proファイル] ---(2)

どんな助けでも大歓迎です。前もって感謝します。

[ノート]

OS: Windows 8.1

IDE: Qt クリエーター 3.0.0

コンパイラ: MSVC2012(32bit)

対象機種:ft232hl

【追記】

「Add Library」の構成は以下の通りです。チェックボックス「Add "d" suffix for debug version」を有効にすると、LNK1104 に関するエラー メッセージが表示されました。それ以外の場合は、別のエラー メッセージが表示されました。

ここに画像の説明を入力