各位。。求救:
在windows2000下,怎样用_inp和outp函数向硬件口实现读写?求救见下程序: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);//outportb(0x43,0xb6);?????
_outp(0x42,count.c[0]);//outportb(0x42,count.c[0]);????
_outp(0x42,count.c[1]);//outportb(0x42,count.c[1]);????
bits=_inp(0x61);//bits=inportb(0x61);?????
bits=_outp(0x61,bits|3);//outportb(0x61,bits|3);????
for(i=0;i<20000;i++)
{
_outp(0x61,bits&0xfc);//outportb(0x61,bits&0xfc);???
}}
main()
{
unsigned int freq;
do{
do{
freq = rand();
}while(freq>1000);
sound(freq);
}while(!kbhit());
return 1;
}
在windows2000下,怎样用_inp和outp函数向硬件口实现读写?求救见下程序: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);//outportb(0x43,0xb6);?????
_outp(0x42,count.c[0]);//outportb(0x42,count.c[0]);????
_outp(0x42,count.c[1]);//outportb(0x42,count.c[1]);????
bits=_inp(0x61);//bits=inportb(0x61);?????
bits=_outp(0x61,bits|3);//outportb(0x61,bits|3);????
for(i=0;i<20000;i++)
{
_outp(0x61,bits&0xfc);//outportb(0x61,bits&0xfc);???
}}
main()
{
unsigned int freq;
do{
do{
freq = rand();
}while(freq>1000);
sound(freq);
}while(!kbhit());
return 1;
}
解决方案 »
- windows下,winsock IO模型 select模型下connect的处理
- 如何从文本文档里读取数据,添加到相应的编辑框中?
- 纤程这个概念的存在,就是为了移植Unix程序?
- 拖拽文本(不是文件)到richedit控件中的消息是哪一个?
- 求助!软件开发协作项目!
- 程序正在进行计算时,如何是窗体不响应用户操作,并弹出对话框显示进度?
- 给阿笨猫老大送分,旁人勿进,进了也没分
- 各位高手看过来,如何在 Win9x 系统下面开发高效率的线程池?分不够再加!!!
- 【Vc6.0】【Tab选项卡】【newDialog】【添加控件】【Member Varibales】
- 动态绘图引起的抖动问题
- 如何更改指定目录中文件名
- 什么函数可以让某个窗口或者控件重绘??谢谢
可以解决在NT4,2000,XP下调用out和put的问题。lianxi