メインコンテンツ

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

I2C Controller Write

I2C 周辺デバイスまたは I2C 周辺デバイス レジスタにデータを書き込む

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

  • I2C Controller Write 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 Write ブロックは、ボードに接続された I2C 周辺デバイスにデータを書き込みます。このブロックを使用して、I2C 周辺デバイスの特定のレジスタにデータを書き込むことができます。I2C 通信の詳細については、I2C 通信のサポートを参照してください。

メモ

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

端子

入力

すべて展開する

この端子はボード上の I2C デバイスにデータを書き込みます。

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

出力

すべて展開する

この端子は書き込み操作が成功すると 0 を出力します。

依存関係

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

データ型: uint8

パラメーター

すべて展開する

I2C 周辺デバイスにデータを書き込むボード上の I2C モジュールを指定します。

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

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

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

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

データを書き込む I2C 周辺デバイス アドレスを指定します。I2C 周辺デバイス アドレスは 7 ビット アドレスです。

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

このパラメーターを選択すると、ブロックは [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 周辺デバイス レジスタ アドレスを指定します。

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

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

依存関係

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

このパラメーターをオフにすると、ブロックはストップ コンディションを送信します。このコンディションは、ブロックによるデータ送信が終了し、他の任意の 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

拡張機能

すべて展開する

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