Harmony Ver 1.07.01で記述
目次
概要
モジュールのドライバの動作を指定する列挙体.
ドライバをブロッキング/ノンブロッキング(共有か,排他か)を指定でき,ドライバの読み込み・書き込み動作も指定できる.
さらに,ドライバ内部のバッファ動作を指定したり,DMA使用の有無を指定できる.(この機能は2016/05/18時点で未実装のようだ)
定義
typedef enum { DRV_IO_INTENT_READ, DRV_IO_INTENT_WRITE, DRV_IO_INTENT_READWRITE, DRV_IO_INTENT_BLOCKING, DRV_IO_INTENT_NONBLOCKING, DRV_IO_INTENT_EXCLUSIVE, DRV_IO_INTENT_SHARED } DRV_IO_INTENT;
メンバ
DRV_IO_INTENT_READ | Read |
---|---|
DRV_IO_INTENT_WRITE | Write |
DRV_IO_INTENT_READWRITE | Read and Write |
DRV_IO_INTENT_BLOCKING | ドライバはブロック状態になり,処理完了で返ってくる(処理完了までドライバ関数で待機する) ※I2Cではブロッキング動作にならないような気がする |
DRV_IO_INTENT_NONBLOCKING | ドライバは処理完了を待たない |
DRV_IO_INTENT_EXCLUSIVE | ドライバは1つのクライアントのみ処理する(多重でインスタンス生成しない) |
DRV_IO_INTENT_SHARED | ドライバは複数のクライアントを処理する(多重でインスタンス生成する) |
備考
これらの値はフラグとして使用でき,それぞれをOR(”|”)して,組み合わせて使用できる.
コメント