I2C通信(TwoWireクラス)

2線による通信を行うためのI2C通信ライブラリです。Wireと呼ばれることもあります。
使用する場合は、ライブラリとしてインポートして、#include <wire.h>を記述してください。

TwoWire用コンストラクタ

概要 TwoWireクラスのインスタンス生成用コンストラクタです。
文法 TwoWire()
パラメータ なし
戻り値 なし

assignSdaScl

概要 SDA、SCLに割り当てるピンを指定する。デフォルトでSDAはアナログピンの4番、SCLはアナログピンの5番に割り当てられています。
文法 wire.assignSdaScl(int sda, int scl)
パラメータ sda: SDAに使用するピン
scl: SCLに使用するピン
戻り値 なし

begin

概要 初期化します。
文法 wire.begin()
パラメータ なし
戻り値 なし

requestFrom

概要 相手先に対して受信シーケンスを発行し、データを読み出す。
文法 wire.requestFrom(unsigned char address, int count)
パラメータ address: 相手先のアドレス(7bit)。RD/WRを示すビットは含まず、0~0x7fを指定してください。
count: 読み出したいデータのバイト数。0~260を指定。
戻り値 受信したバイト数。相手先がNACKを返した場合は、countで指定した値に満たなくても終了する。

available

概要 受信バッファ内にあるデータ数を調べる
文法 wire.available()
パラメータ なし
戻り値 データ数(バイト単位)

read

概要 受信バッファからデータを1バイト取り出す
文法 int wire.read()
パラメータ なし
戻り値 データがある場合は0~255を返す。データがない場合は-1を返す。

beginTransmission

概要 相手先に対して送信を開始するための準備をする。
文法 wire.beginTransmission(unsigned char address)
パラメータ address: 相手先アドレス。RD/WRを示すビットは含まず、0~0x7fを指定してください。
戻り値 なし

write

概要 送信バッファの末尾に文字列や、データを追加する。
文法 int wire.write(data)
パラメータ data: 送信したい文字列、データ
戻り値 成功したら送信したバイト数を返す。送信バッファ(260バイト)に空き容量が無ければ失敗して0を返す。

endTransmission

概要 相手先に送信シーケンスを発行する。I2C通信はこの関数を実行して初めて行われる。
文法 unsigned char wire.endTransmission()
パラメータ なし
戻り値 0: 成功
1: 送信バッファ溢れ
2: アドレス送信時にNACKを受信
3: データ送信時にNACKを受信
4: その他エラー


サンプルプログラム

編集中です。

編集中#include <rxduino.h>

桜ライブラリ

春ライブラリ

めいど by がじぇっとるねさすプロジェクト
Contents are CC BY-SA 3.0