DRV_IO_INTENT

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

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!

この記事を書いた人

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次