メインコンテンツ

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

I2C Controller Write

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

アドオンが必要: この機能には Simulink Coder Support Package for NXP FRDM-KL25Z Board アドオンが必要です。

  • I2C Controller Write block

ライブラリ:
Simulink Coder Support Package for NXP FRDM-KL25Z Board/FRDM-KL25Z

説明

I2C Controller Write ブロックは、ボードに接続された I2C 周辺デバイスにデータを書き込みます。このブロックを使用して、I2C 周辺デバイスの特定のレジスタにデータを書き込むことができます。

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

端子

入力

すべて展開する

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

出力

すべて展開する

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

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

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

データ型: uint8

パラメーター

すべて展開する

I2C 周辺デバイスへのデータの書き込み元となるボード上の I2C モジュールを指定します。

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

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

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 Controller Write ブロックは周辺デバイスに対して最終バイトで NACK (Not Acknowledge/応答なし) ビットを送信します。

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

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

依存関係

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

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

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

依存関係

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

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

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

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

バージョン履歴

R2016b で導入