免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: shangxd
打印 上一主题 下一主题

老问题,如何让电脑蜂鸣器发声音? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2004-09-16 16:23 |只看该作者

老问题,如何让电脑蜂鸣器发声音?

我用的是标准C,没这个函数啊。
bitstream 该用户已被删除
12 [报告]
发表于 2004-09-16 16:23 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
13 [报告]
发表于 2004-09-16 16:46 |只看该作者

老问题,如何让电脑蜂鸣器发声音?

1.设置蜂鸣器频率
2.打开蜂鸣器
3.计时
4.关闭蜂鸣器

论坛徽章:
0
14 [报告]
发表于 2004-09-16 16:55 |只看该作者

老问题,如何让电脑蜂鸣器发声音?

请问哪里有关于蜂鸣器的资料?比如如何打开这个设备

论坛徽章:
0
15 [报告]
发表于 2004-09-16 17:17 |只看该作者

老问题,如何让电脑蜂鸣器发声音?

好像是43H端口管频率、61H端口管开关吧?时间太久了,记不清楚了。
bitstream 该用户已被删除
16 [报告]
发表于 2004-09-16 17:33 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
bitstream 该用户已被删除
17 [报告]
发表于 2004-09-16 17:35 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
18 [报告]
发表于 2004-09-17 10:24 |只看该作者

老问题,如何让电脑蜂鸣器发声音?

看完楼上兄弟的帖子,我的心情竟是久久不能平静,真是太感谢你了。
这个程序是一首曲子啊,呵呵,我已经把它精简了,可以控制音高和音长,我做好函数后就把它贴上来(大家不要笑哦),希望有高手来把它完善,方便后人:)

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
19 [报告]
发表于 2004-09-17 10:34 |只看该作者

老问题,如何让电脑蜂鸣器发声音?

我喜欢来CU的主要原因是这里的好人和高手都很多

论坛徽章:
0
20 [报告]
发表于 2004-09-17 11:14 |只看该作者

老问题,如何让电脑蜂鸣器发声音?

这是精简后的,一声长,两声短,我只需要这个功能就行了,如果有人需要复杂的功能还是看楼上的代码。

  1. #include <sys/io.h>;
  2. #include <unistd.h>;

  3. int main(void)
  4. {
  5.         int freq=523;//这里是控制音高,但是没找到规律,只能自己试,看哪种比较好听
  6.       int time=20;//这里是控制音长

  7.       speaker(freq, 50);
  8.         usleep (700);
  9.         speaker(freq, time);
  10.         usleep (700);
  11.         speaker(freq, time);

  12.         return (0);
  13. }

  14. int speaker(int freq,int delay)
  15. {
  16.         static int flag=0,bit;
  17.         if(flag==0)
  18.         {
  19.                 flag=1;
  20.                 iopl(3);
  21.         }
  22.         outb(0xb6,0x43);
  23.         outb((freq & 0xff),0x42);
  24.         outb((freq & 0x8), 0x42);//这里一行,楼上的代码是一个表情符号,所以我是猜的,发现去掉的话也没关系
  25.         bit=inb(0x61);
  26.         outb(3 | bit,0x61);
  27.         usleep(10000*delay);
  28.         outb(0xfc | bit,0x61);
  29. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP