SROS 説明書

デバイスドライバ定義


DEV1〜DEV8
 デバイス番号の定義です。


DEVICE構造体型
ストリームデバイスのエントリーポイントへのポインターを保持しています。ストリームデバイス登録時のみ関与する型です。

typedef void PROC_INIT(void);
typedef void PROC_BUFF(char *);
typedef char PROC_GET(void);
typedef void PROC_PUT(char c);

typedef struct _tag_device{

PROC_INIT * Init;
 初期化関数のエントリポイントです。

PROC_INIT * Free;
  デバイス開放関数

PROC_BUFF * Ctrl;
 デバイスのコントロールの為のエントリーポイントです。LCDデバイスでは画面消去や改行を行っています。SCIではボーレートの設定等を行うプログラムを書いてください。

PROC_GET  * IRQ_ReadDevice;
 割り込みなどで呼び出されるデバイスのエントリーポイントです。
 デバイスからデータを読み出すコードを登録します。

PROC_GET  * RD_Ready;
 ポーリングやGetDEV実行時に呼び出されるエントリーポイントです。デバイスから読み込み可能かチェックするコードを登録します。

PROC_PUT  * IRQ_WriteDevice;
 割り込みなどで呼び出されるデバイスのエントリーポイントです。
 デバイスに対してデータを書き込むコードを登録します。

PROC_GET  * WR_Ready;
 ポーリングやPutDEV実行時に呼び出されるエントリーポイントです。デバイスから読み込み可能かチェックするコードを登録します。

BUF Buffer[2];
データを保持しているバッファーです。


} DEVICE;