目的:利用研华 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 可以看到全部内容