阅读:1761回复:1
小弟的一个让主板发声的程序调不通,神仙指点啊
小弟初学,一个程序让主板扬声器发声的程序,在VC 6.0下编译,链接都没有问题,
但一运行就出错: unkown software exception 把程序贴出来,望神仙指点啊: #include <dos.h> #include <conio.h> #include <stdlib.h> void sound(unsigned int freq); void main() //主程序 { unsigned int freq; do { do { freq=rand(); //rand产生一个伪随机数 }while(freq>1000); sound(freq); }while(! kbhit()); //按任意键退出 } void sound(unsigned int freq) //发声程序 { unsigned i; union { long divisor; unsigned char c[2]; }count; unsigned char bits; count.divisor=119328/freq; _outp(0x43,0xb6); //8255芯片命令寄存器地址0x43 _outp(0x42,count.c[0]); //频率计数值送入地址口0x42 _outp(0x42,count.c[1]); bits=_inp(0x61); _outp(0x61,bits|3); //8255芯片门控信号地址口 for(i=0;i<20000;i++) _outp(0x61,bits&0xfc); } 是不是地址有问题? |
|
沙发#
发布于:2007-01-10 22:46
vc编成32位程序当然不行了,保护模式下直接IO是非法的,常识阿
用TC编成16位程序也许可以 |
|