メインコンテンツ

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

I2C Controller Read

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

アドオンが必要: この機能には Embedded Coder Support Package for STMicroelectronics STM32 Processors アドオンが必要です。

  • I2C Controller Read block

ライブラリ:
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32F1xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32F2xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32F3xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32F4xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32F7xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32G0xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32G4xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32H7xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32L4xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32L5xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32U5xx Based Boards
Embedded Coder Support Package for STMicroelectronics STM32 Processors / STM32WBxx Based Boards
Simulink Coder Support Package for STMicroelectronics Nucleo Boards / Common

説明

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

メモ

I2C Controller Read ブロックを含む Simulink® モデルは、STM32 プロセッサ ベースのボード上で接続済み IO モードで実行できます。詳細については、Communicate with Hardware Using Connected IOを参照してください。

端子

出力

すべて展開する

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

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

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

戻りステータス コード

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

依存関係

この端子を有効にするには、[出力エラー ステータス] パラメーターを選択します。

データ型: uint8

パラメーター

すべて展開する

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

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

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

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

I2C コントローラーの周辺デバイス アドレスの取得元を選択します。

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

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

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

I2C コントローラーのレジスタ アドレスの取得元を選択します。

依存関係

このパラメーターを有効にするには、[Enable register access address mode] パラメーターをオンにします。

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

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

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

依存関係

このパラメーターを有効にするには、[Enable register access address mode] パラメーターをオンにします。

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

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

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

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

依存関係

このパラメーターを有効にするには、[Enable register access address mode] パラメーターをオフにします。

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

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

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

依存関係

このパラメーターを有効にするには、[Enable register access address mode] パラメーターをオフにします。

このパラメーターを選択すると、ブロックで出力端子が構成されます。ブロックの端子には Status というラベルが付けられ、ブロックの出力端子で書き込み操作のステータスが出力されることを示します。

ブロックはステータスを uint8 値として出力します。それぞれの値がデータ転送ステータスに対応します。

ステータスの値ステータスの説明
0SUCCESS
1BUSY
2ARBITRATION_LOST
4NO_ACKNOWLEDGE
8I2C_BUS_ERROR

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

Timeout は、読み取り操作が完了するまで待機する最大時間 (秒単位) になるように構成します。

拡張機能

すべて展開する

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。