Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

I2C Controller Read

I2C 周辺デバイスまたは I2C 周辺デバイス レジスタからデータを読み取る

  • I2C Controller Read block

ライブラリ:
Embedded Coder Support Package for STMicroelectronics Discovery Boards / STM32F769I-Discovery
Embedded Coder Support Package for STMicroelectronics Discovery Boards / STM32F746G-Discovery

説明

I2C Controller Read ブロックは、ボードに接続された I2C 周辺デバイスからシリアル データを読み取ります。このブロックを使用して、I2C 周辺デバイスの特定のレジスタからデータを読み取ることができます。

I2C 通信の詳細については、I2C 通信のサポートを参照してください。

端子

出力

すべて展開する

この端子はボード上の I2C デバイスからベクトル データを読み取ります。データのサイズは [データ サイズ] パラメーターで指定した値になります。

データ型: int8 | uint8 | int16 | uint16 | int32 | uint32 | single | double

[出力エラー ステータス] パラメーターを選択すると、Status というラベルが付いた出力端子が使用可能になります。

この端子は各読み取り要求のステータスを次の表に記載されているとおりに出力します。

戻りステータス コード

ステータス説明
0SUCCESS
1BUSY
2ARBITRATION_LOST
4NO_ACKNOWLEDGE
8BUS_ERROR
16BUS_NOT_IN_USE

データ型: uint8

パラメーター

すべて展開する

I2C 周辺デバイスからデータを読み取るボード上の I2C モジュールを指定します。

データを読み取る I2C 周辺デバイス アドレスを指定します。このアドレスは 16 進数形式の hex2dec() で指定できます。たとえば、‘hex2dec(‘20’)’ のようになります。

2 バイトのバイト順のオプションは次のとおりです。

  • BigEndian - I2C バスで最上位バイトが最初に送信されます。

  • LittleEndian - I2C バスで最下位バイトが最初に送信されます。

このパラメーターを選択すると、ブロックは [Peripheral register address] パラメーターで指定された I2C 周辺デバイス レジスタからデータを読み取ります。

このパラメーターをオフにすると、[Send NACK at the end of data transfer] パラメーターと [Remove stop bit at the end of data transfer] パラメーターが表示されます。これらのパラメーターを使用して、要件に従って読み取り操作を変更できます。

データを読み取る I2C レジスタ アドレスを指定します。

このアドレスは、整数として指定するか、hex2dec() を使用して 16 進数形式で指定します。たとえば、‘hex2dec(‘20’)’ のようになります。

レジスタの読み取り/書き込みの詳細については、I2C レジスタの読み取り/書き込みを参照してください。

依存関係

このパラメーターは、[Enable register access] パラメーターを選択した場合にのみ表示されます。

I2C 周辺デバイスから読み取るデータ型を選択します。

選択したデータ型について I2C 周辺デバイスから読み取るデータ サイズを指定します。

このパラメーターを選択すると、I2C Controller Read ブロックは周辺デバイスに対して最終バイトで NACK (Not Acknowledge/応答なし) ビットを送信します。

周辺デバイスは NACK を受信すると、I2C コントローラー ブロックからのストップ コンディションを待機します。コントローラー ブロックは、転送を中止するためのストップ コンディション、または新しい転送を開始するための繰り返しのスタート コンディションのいずれかを生成します。

このパラメーターをオフにすると、I2C Controller Read ブロックは周辺デバイスに対してすべてのバイトの最後に ACK (Acknowledge/肯定応答) ビットを送信します。ACK は、I2C Controller Read ブロックで次のバイトを周辺デバイスから読み取る準備ができたことを示します。

依存関係

このパラメーターは、[Enable register access] パラメーターをオフにした場合にのみ表示されます。

このパラメーターをオフにすると、ブロックはストップ コンディションを送信します。このコンディションは、ブロックによるデータ送信が終了し、他の任意の I2C コントローラー ブロックで新しい読み取り/書き込み操作を開始できるように I2C バスが空いたことを示します。

このパラメーターを選択すると、ブロックは別のスタート コンディションとそれに続くアドレスおよび読み取り/書き込みビットを送信します。ブロックは任意の数のスタート コンディションを再帰的に送信します。このような繰り返しのスタート コンディションにより、バスをリリースせずに周辺デバイスへの書き込み操作が可能になります。操作中に他のコントローラー ブロックによる割り込みは発生しません。

依存関係

このパラメーターは、[Enable register access] パラメーターをオフにした場合にのみ表示されます。

このパラメーターを選択すると、Status というラベルが付いた出力端子が使用可能になります。

この端子は読み取り操作が成功すると 0 を出力します。

I2C Controller Read ブロックで I2C 周辺デバイスからデータを読み取る頻度を指定します。このパラメーターを -1 と指定すると、ブロックはモデル内のブロックのコンテキストに基づいてサンプル時間を継承します。