インターバルタイマ割り込みを有効に設定し、インターバルタイマの 設定後, キイボードからの入力待ち状態で割り込みが発生するのを確 認するテストプログラムを作成しなさい。
キイ入力された後は, 割り込みとインターバルタイマを停止してから 終了するようにテストプログラムを作成すること。
この実験に成功したら、/proc/interruptsファイルを参照して、割り込み番
号と割り込み回数を確認すること(L.D.Dの「9.3.1 /procインターフェース」参照)。
プログラム作成のヒント: 割り込みの設定、インターバルタイマの設定、インターバルタイマの解除、割り込みの解除を行なえばよい。
#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include "dio_ioctl.h"
int main(void)
{
int fd, i, devno, ret;
unsigned char buff[1024], timer_config;
DIO_EVENT event;
fd = open("/dev/pci2726c", O_RDWR);
if (fd < 0){
printf("[open] no Shippai.\n");
return -errno;
}
ret = ioctl(fd, IOCTL_DIO_RESET);
if (ret < 0)
printf("[ioctl reset] no Machigai = %d\n", ret);
// Warikomi no Settei
.
.
// [Interval Timer] no Settei
.
.
printf("[Key] wo Ose! :");
fgets(buff, 255, stdin);
// [Interval Timer] no kaijo
.
.
// Warikomi no Kaijo
.
.
close(fd);
return 0;
}