Harmony Ver 1.07.01で記述
目次
概要
I2C通信の状態を表す列挙体.
コールバック()に指定する場合は,指定した状態になった時にコールバック関数を呼び出す.
ポーリング()で読みだした場合は,転送状態を確認できる.
定義
typedef enum { DRV_I2C_BUFFER_EVENT_PENDING, DRV_I2C_BUFFER_EVENT_COMPLETE, DRV_I2C_BUFFER_EVENT_ERROR, DRV_I2C_SEND_STOP_EVENT, DRV_I2C_SEND_RESTART_EVENT, DRV_I2C_BUFFER_SLAVE_READ_REQUESTED, DRV_I2C_BUFFER_SLAVE_WRITE_REQUESTED, DRV_I2C_BUFFER_SLAVE_READ_BYTE, DRV_I2C_BUFFER_MASTER_ACK_SEND, DRV_I2C_BUFFER_MASTER_NACK_SEND, DRV_I2C_BUFFER_SLAVE_WRITE_BYTE } DRV_I2C_BUFFER_EVENT;
メンバ
DRV_I2C_BUFFER_EVENT_PENDING | バッファの処理は保留されている(おおよそ,送信にまだ手が付けられていない状態) |
---|---|
DRV_I2C_BUFFER_EVENT_COMPLETE | バッファ中のすべてのデータが正常に転送された |
DRV_I2C_BUFFER_EVENT_ERROR | バッファ内転送中にエラーが発生した |
DRV_I2C_SEND_STOP_EVENT | ドライバはブロック状態になり,処理完了で返ってくる(処理完了までドライバ関数で待機する) ※I2Cではブロッキング動作にならないような気がする |
DRV_I2C_SEND_RESTART_EVENT | マスターが「Stop」を送った |
DRV_I2C_BUFFER_SLAVE_READ_REQUESTED | マスターが「Restart」を送った |
DRV_I2C_BUFFER_SLAVE_WRITE_REQUESTED | マスターがスレーブにデータを送信する |
DRV_I2C_BUFFER_SLAVE_READ_BYTE | マスターがスレーブにデータ要求する |
DRV_I2C_BUFFER_MASTER_ACK_SEND | マスターがスレーブにACKを送信し,次のデータを要求する |
DRV_I2C_BUFFER_MASTER_NACK_SEND | マスターがスレーブにNACKを送信し,次のデータを要求しない |
DRV_I2C_BUFFER_SLAVE_WRITE_BYTE | スレーブがマスターにデータを送信する |
備考
これらの値はフラグとして使用でき,それぞれをOR(”|”)して,組み合わせて使用できる.
コメント