Linux编程实现蜂鸣器演奏康定情歌
Linux编程实现蜂鸣器演奏康定情歌
- #include <sys/io.h>
- #include <unistd.h>
- void play(unsigned int* freq, unsigned int* delay);
- main()
- {
- int i;
- unsigned int freq[]={ 330 , 392 , 330 , 294 , 330 , 392 ,
- 330 , 394 , 330 , 330 , 392 , 330 ,
- 294 , 262 , 294 , 330 , 392 , 294 ,
- 262 , 262 , 220 , 196 , 196 , 220 ,
- 262 , 294 , 330 , 262 , 0 } ;
- unsigned int time[]={ 50 , 50 , 50 , 25 , 25 , 50 ,
- 25 , 25 , 100, 50 , 50 , 25 ,
- 25 , 50 , 50 , 25 , 25 , 100,
- 50 , 25 , 25 , 50 , 25 , 25 ,
- 50 , 25 , 25 , 100 };
- unsigned int freq2[]={
- 196,262,262,262,330,294,262,294,330,294,262,
- 330,394,440,440,394,330,330,262,294,262,294,
- 330,294,262,230,230,196,262,440,394,330,330,
- 262,294,262,294,440,394,330,330,394,440,523,
- 394,330,330,262,294,262,294,330,294,262,230,
- 230,196,262,440,394,330,330,262,294,262,294,
- 440,394,330,330,394,440,523,394,330,330,262,
- 294,262,294,330,294,262,230,230,196,262,0
- };
- unsigned int time2[]={
- 25,38,12,25,25,38,12,25,12,12,56,25,25,50,25,
- 38,12,12,12,38,12,25,12,12,38,12,25,25,100,25,
- 38,12,12,12,38,12,25,25,38,12,25,25,100,25,38,
- 12,12,12,38,12,25,12,12,38,12,25,25,100,25,38,
- 12,12,12,38,12,25,25,38,12,25,25,100,25,38,12,
- 12,12,38,12,25,12,12,38,12,25,25,100
- };
- unsigned int freq_alert[]={
- 2000, 2400, 0
- };
- unsigned int time_alert[]={
- 50, 60
- };
- for(i = 0; i < 5; i++)
- {
- play(freq_alert, time_alert);
- }
- play(freq2, time2);
- }
- void play(unsigned int* freq, unsigned int* time)
- {
- int i;
- for(i=0;freq[i]!=0;i++)
- {
- speaker(freq[i], time[i]);
- }
- }
- int speaker(unsigned int freq,unsigned int delay)
- {
- static int flag=0,bit;
- if(fl ag==0)
- {
- flag=1;
- iopl(3);
- }
- outb(0xb6,0x43);
- outb((freq & 0xff), 0x42);
- outb((freq>>8), 0x42);
- bit=inb(0x61);
- outb(3 | bit,0x61);
- usleep(10000*delay);
- outb(0xfc | bit,0x61);
- }
Linux编程实现蜂鸣器演奏康定情歌的更多相关文章
- 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结 转载
基础篇:操作系统.计算机网络.设计模式 一:操作系统 1. 进程的有哪几种状态,状态转换图,及导致转换的事件. 2. 进程与线程的区别. 3. 进程通信的几种方式. 4. 线程同步几种方式.(一定要会 ...
- 【转】牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
基础篇:操作系统.计算机网络.设计模式 一:操作系统 1. 进程的有哪几种状态,状态转换图,及导致转换的事件. 2. 进程与线程的区别. 3. 进程通信的几种方式. 4. 线程同步几种方式.(一定要会 ...
- Linux 编程中的API函数和系统调用的关系【转】
转自:http://blog.chinaunix.net/uid-25968088-id-3426027.html 原文地址:Linux 编程中的API函数和系统调用的关系 作者:up哥小号 API: ...
- linux编程获取本机网络相关参数
getifaddrs()和struct ifaddrs的使用,获取本机IP 博客分类: Linux C编程 ifaddrs结构体定义如下: struct ifaddrs { struct ifad ...
- 面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
基础篇:操作系统.计算机网络.设计模式 一:操作系统 1. 进程的有哪几种状态,状态转换图,及导致转换的事件. 2. 进程与线程的区别. 3. 进程通信的几种方式. 4. 线程同步几种方式.(一定要会 ...
- Linux编程简介
Linux编程可以分为Shell(如BASH.TCSH.GAWK.Perl.Tcl和Tk等)编程和高级语言(C语言,C++语言,java语言等)编程,Linux程序需要首先转化为低级机器语言即所谓的二 ...
- Linux编程return与exit区别
Linux编程return与exit区别 exit 是用来结束一个程序的执行的,而return只是用来从一个函数中返回. return return 表示从被调函数返回到主调函数继续执行,返回时可附 ...
- linux 编程技术
linux 编程技术No.1前期准备工作 GCC的编译过程分为预处理.生成汇编代码.生成目标代码和链接成可执行文件等4个步骤. 使用vim编写C 文件 : [lining@localhost prog ...
- Linux编程之给你的程序开后门
这里说的"后门"并不是教你做坏事,而是让你做好事,搭建自己的调试工具更好地进行调试开发.我们都知道,当程序发生异常错误时,我们需要定位到错误,有时我们还想,我们在不修改程序的前提下 ...
随机推荐
- Brocade FC Switch 光信号强度查看
步骤: 1.先运行,porterrshow 查看口状态,然后'statsclear' and 'slotstatsclear' 2.查看:porterrshow,看下port 口的情况 3.收集sup ...
- Redis:目录
ylbtech-Redis:目录 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 7.返回顶部 8.返回顶部 9.返回顶部 ...
- linux下thinkphp取消调试模式后找不到网页解决方案
1.最大嫌疑是Runtime目录权限不足,导致common~runtime.php文件无法生成, 解决:1.整个Runtime目录删除,让系统重新生成; 2.给Runtime及以下的所有文件足够权限0 ...
- 设计模式——单例模式(C++)
一: 饿汉式单例: 静态区初始化instance,然后通过getInstance返回.这种方式没有多线程的问题,是一种以空间换时间的方式,不管程序用不用,都会构造唯一的实例. #pragma once ...
- node 通过指令创建一个package.json文件
描述包的文件是package.json文件. 一个这样的文件,里面的信息还是挺大的.我们可以放弃手动建立.为了练手我们有命令行来建一个这样的包; 完成name,varsion....license ...
- AIX存储LV PV VG (转载)
1.基本概念:PV 物理卷:普通的直接访问的存储设备,有固定的和可移动的之分,代表性的就是硬盘.vg 卷组:AIX中最大的存储单位,一个卷组由一组物理硬盘组成,也就是由一个或多个物理卷组成.pp 物理 ...
- SharePoint 事件 2137 / 2138 :SharePoint 运行状况分析器检测到错误。驱动器的可用空间不足。
转自MSDN:http://technet.microsoft.com/zh-cn/library/ff805057.aspx 摘要:服务器场中的一个或多个服务器上的磁盘驱动器的可用空间不足. 注意: ...
- Install MongoDB Community Edition on Ubuntu
Install MongoDB > Install MongoDB Community Edition > Install MongoDB Community Edition on Lin ...
- 深入浅出 Java Concurrency (15): 锁机制 part 10 锁的一些其它问题
主要谈谈锁的性能以及其它一些理论知识,内容主要的出处是<Java Concurrency in Practice>,结合自己的理解和实际应用对锁机制进行一个小小的总结. 首先需要强调的 ...
- php call_user_func_array
call_user_func_array (PHP >= , PHP , PHP ) call_user_func_array — 调用回调函数,并把一个数组参数作为回调函数的参数 说明 mix ...