📄 buzzer_test.c
字号:
/*
**********************************************************************************************
*
* Embest Info&Tech Co., Ltd. All rights reserved.
* www.embedinfo.com
*
*file: xxx.c/xxx.h
*author: embest
*establish: 2006.xx.xx
*modify: xx
*notes: xx
**********************************************************************************************
*/
/*
**********************************************************************************************
* include files
**********************************************************************************************
*/
#include "..\..\com\lpc_lib_AD\lpc_lib_AD.h"
#include "..\..\com\lpc_lib_pwm\lpc_lib_pwm.h"
/*
**********************************************************************************************
* local function declare
**********************************************************************************************
*/
void buzzer_test(void);
/*
**********************************************************************************************
* extern function/variable declare
**********************************************************************************************
*/
/*
**********************************************************************************************
* global variable define
**********************************************************************************************
*/
/*
**********************************************************************************************
* name: function name
* func: effect
* para: form parameter
* ret: return value description
* modify:
* comment:
**********************************************************************************************
*/
void Main(void)
{
lpc_init_pll_manual();
buzzer_test();
}
void buzzer_test(void)
{
INT32U i,data;
i = IODIR2; //open buzzer latch
i |= (0x1<<21);
IODIR2 = i;
i = IOCLR2;
i |= (0x1<<21);
IOCLR2 = i;
pwm_init(0,pwm3,1);//init pwm3 to buzzer
pwm_set_f(10); //set lowest frequency as 10Hz
pwm_single_edge(pwm3,10,0.5);
pwm_enable(); //pwm enable
AD_init(0,AIN6,0,0);
while(1)
{
data=AD_value(); //convert AD value to buzzer frequency
data=(data/8)*50+10;
pwm_set_f(data);
pwm_single_edge(pwm3,data,0.5);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -