目的:利用研華 PCL 833 卡做定時中斷。已交談方式輸入中斷頻率,敲擊任一鍵(除了ESC)開時,每次中斷 隨中斷次數 n 發出ln(n)*2000頻率的聲音,接著敲擊任一鍵(除了ESC)暫停並且可以輸入新的中斷頻率,按ESC鍵結束!
執行結果:程式似乎有bug存在,無法立即產生中斷而發出聲音!結束程式時,也會慢10秒!
程式部分:我是用turbo c 編譯的。
#include <stdio.h>
#include <dos.h>
#include <conio.h>
#include <bios.h>
#include <math.h>
void interrupt (*old_handler)();
void interrupt int_di();
void init_INT();
unsigned int irql, base;
int irqnum = 0, n = 0, count = 0;
int keyin, timebase;
int int_mask;
float y;
void interrupt int_di()
{
disable();
irqnum = inportb( base+15 );
count++;
n++;
y=n;
sound(log(y)*2000);
delay(1000);
nosound();
outportb( base+12, 0x20 );
ou ..
訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容