mktone.c
来自「c语言库函数!里面包含了所以c语言中的系统函数的实现及其详细说明和代码!请大家及」· C语言 代码 · 共 63 行
C
63 行
/* +++Date last modified: 05-Jul-1997 */
/*
** MKTONE.C
**
** Original Copyright 1988-1991 by Bob Stout as part of
** the MicroFirm Function Library (MFL)
**
** The user is granted a free limited license to use this source file
** to create royalty-free programs, subject to the terms of the
** license restrictions specified in the LICENSE.MFL file.
*/
#include <stddef.h>
#include "uclock.h"
#include "sound.h"
#include "pchwio.h"
void dosound(int freq)
{
unsigned i;
outp(C8253, SETIMER);
i = (unsigned)freq%256;
outp(F8253, i);
i = (unsigned)freq/256;
outp(F8253, i);
}
void mktone(int freq, int update, unsigned delay)
{
if (0 == freq)
{
soundoff();
return;
}
dosound(freq);
if (update != UPDATE)
soundon();
if (delay == 0)
return;
else usec_delay(1000L * (unsigned long)delay);
if (update == TOGGLE)
soundoff();
}
#ifdef TEST
#include <stdio.h>
main()
{
puts("Playing A2 for 1 sec.");
mktone(A2, ON, 1000);
puts("Playing A3 for 1 sec.");
mktone(A3, UPDATE, 1000);
mktone(0, UPDATE, 0);
return 0;
}
#endif /* TEST */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?