如何针对不同的事件让蜂鸣器响的次数不一样
在stm32中,如何针对不同的事件让蜂鸣器响的次数不一样?看到有人的程序,怎样来理解?
用的是定时器:假设响500mS静500mS
有一常量, count
函数Beep(int times)
{
count = times * 10 - 5; //*10-5与定时器周期有关
使能蜂鸣器
开定时器中断
}
100mS定时器中断服务函数
{
times--;
if(0 == times)
关定时器中断
if(times%5 == 0)
蜂鸣器状态取反
}
本帖最后由 奏奏奏 于 2018-12-7 20:03 编辑
可以通过下面3种:
(1)调节定时器定时值,改变蜂鸣器输出频率;
(2)PWM改变占空比;
(3)像楼主说的响一段时间停一段时间(秒级)
楼主没有说是有源还是无源蜂鸣器,上面3种都可以试一下效果,毕竟有些参数调整后人耳分辨不出来也是白折腾。
这个可以用写个接口函数,传响的次数进去。 我使用的有源蜂鸣器,在多任务的环境下,使用状态机的方法分析蜂鸣器的各种工作状态。
页:
[1]