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(”|”)して,組み合わせて使用できる.

コメント