NI製品ディスカッション

cancel
Showing results for 
Search instead for 
Did you mean: 

USB-8452(i2c)のlabviewについて

Highlighted
  • labviewにてi2cの使い方がさっぱりわかりません。どのようにlabviewに変化があるのか、どのように使用すればいいのか、誰が教えてください。
0 Kudos
Message 1 of 3
(166 Views)
Highlighted

amatwm さん、はじめまして

 

どこまで試されたかわかりませんが、まずは下記のドライバをインストールいただき、中にあるサンプルから始めてみてはいかがでしょうか。

https://www.ni.com/ja-jp/support/downloads/drivers/download.ni-845x-driver-software.html#346270

0 Kudos
Message 2 of 3
(73 Views)
Highlighted

こんにちは。

 

I2CやSPIは基本的にバイト単位で通信します
以下かなり強引な表現になりますが、通信の基本的な流れはこんな感じ。

 

〇USB-845xデバイスのリファレンスを開きます。必要に応じてプロパティをいじります
〇NI-845x I2C Write Read.viを使ってデバイスと通信します。
ここからがちょっと普通の機器と通信するのが違うところです

たとえば相手デバイスにx7Aコマンドを送るとデータがxAAxFFxAAxFFのように4バイト帰ってくるものとします。
普通だとwrite.viでx7A書き込んでread.viでxAAxFFxAAxFFを読むのですが、I2CやSPIは送ってるデータに返事が乗っかってくるイメージ。
なので、送信はx7Ax00x00x00x00と送るとx??xAAxFFxAAxFFみたいに帰ってきます。
(応答の最初のx??は不定値だったりが多い。データはx00x00x00x00に乗っかってくる)

これを踏まえてもっと具体的にいうと、Writeにはx7Aから始まるU8形式の5バイト分の配列をつなぐとReadに書き込んだ量と同じサイズの配列が返ってきます。

〇終わったらリファレンスを閉じます

 

すべてがこのような手順ではありませんが、ほとんどはこんな感じ。
I2CやSPIは計測機器の制御とは違ってかなり低レベルのやり取りをしますのでハードウェアの知識が不可欠です。
相手デバイスのマニュアルを理解する方が重要かも。プログラムの方は至極単純です。

0 Kudos
Message 3 of 3
(55 Views)