next up previous
次へ: 課題1 上へ: 情報システム実験(12) 戻る: ドライバの格納

割り込みシステムコールの実行

新しく作成した割り込み用のコマンドを使うアプリケーションとして、割り込 み設定を行なうテストプログラムを作成する。

ioctlの使用方法は、引数に指定するデータが異なることを除いては、 前回の実験と同じである。

割り込みの設定を行なうIOCTL_DIO_SET_EVENTコマンドでは、 DIO_EVENT構造体を定義してメンバ変数にデータを格納し、そのポインタ をコマンドと共に渡せばよい。
    DIO_EVENT event;

    event.irq_mask = 0x10;
    event.irq_config = 0;
    ret = ioctl(fd, IOCTL_DIO_SET_EVENT, &event);
    if (ret < 0) 
       printf("[ioctl set event] no Machigai = %d\n", ret);
 

IOCTL_DIO_SET_TIMERコマンドではインターバルタイマの設定用変数のポ インタを指定して実行すればよい。
    unsigned char timer_config;

    timer_config = 0x4a;
    ret = ioctl(fd, IOCTL_DIO_SET_TIMER, &timer_config);
    if (ret < 0)
       printf("[ioctl set timer] no Machigai = %d\n", ret);
 



Subsections

MANOME Yoichi 平成18年12月26日