2017-11-16 22 views
0

I2C通信でデータを送受信するセンサーとのインターフェースを試みています。私はFT232H USBとI2Cコンバータのインタフェースを取って、それをPCに接続しました。Linux仮想マシンからI2CデバイスをFT232Hに接続できません

次のように私は、dmesgの出力を得る -

[ 518.172735] usb 1-3: new full-speed USB device number 4 using xhci_hcd 
[ 518.306677] usb 1-3: New USB device found, idVendor=0403, idProduct=6001 
[ 518.306686] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 
[ 518.306689] usb 1-3: Product: FT232R USB UART 
[ 518.306692] usb 1-3: Manufacturer: FTDI 
[ 518.306695] usb 1-3: SerialNumber: AK04P01W 
[ 518.309382] ftdi_sio 1-3:1.0: FTDI USB Serial Device converter detected 
[ 518.309442] usb 1-3: Detected FT232RL 
[ 518.309445] usb 1-3: Number of endpoints 2 
[ 518.309448] usb 1-3: Endpoint 1 MaxPacketSize 64 
[ 518.309450] usb 1-3: Endpoint 2 MaxPacketSize 64 
[ 518.309453] usb 1-3: Setting MaxPacketSize 64 
[ 518.309771] usb 1-3: FTDI USB Serial Device converter now attached to ttyUSB0 

と私はは/ dev/ttyUSB0デバイスを得ることができました。

私は次のリンクで与えられたサンプルのpythonベースのアプリケーションを実行している -

import Adafruit_GPIO.FT232H as FT232H 

# Temporarily disable FTDI serial drivers. 
FT232H.use_FT232H() 

# Find the first FT232H device. 
ft232h = FT232H.FT232H() 

# Create an I2C device at address 0x70. 
i2c = FT232H.I2CDevice(ft232h, 0x70) 

しかし、それは常に取得 - 次のように私が使用したコードスニペットがある

https://learn.adafruit.com/adafruit-ft232h-breakout/i2c

を次の行に固執します。 -

ft232h = FT232H.FT232H()

私はこの機能から出ることができません。

Iは、以下のリンクでの手順に従っている - はリンク

https://unix.stackexchange.com/questions/340789/enabling-i2c-on-debian-i2cdetect-doesnt-show-device

次のように一例を示している -

したがって、例えば、バージョンを読み取ることレジスタ00から01バイトを読み取る必要があります。デフォルトのチップアドレスはE0、LSBはR/Wビットなので、代わりにE1をアドレスとして使用し、USB-I2Cアダプタの必要なコマンドは55です。シリアルで送信する完全なシーケンスは55 E1 00 01であり、答えとして1バイトを読みます。 USB用

  1. 必要なコマンド - - I2Cアダプタ

    は、私は、次のデータの値を選択する方法を取得することはできませんよ。 「アダプターの必要なコマンド」については、どのように結論できますか?

答えて

0

FT232HFT232Rは2種類のチップです。 FT232Rには「MPSSEエンジン」が含まれていないため、MPSSEのi2cマスタ機能に依存するサードパーティのコード例やFTDI appnote 255には使用できません。

関連する問題