蜂鸣器控制方式征求大家意见

2019-07-20 23:52发布

蜂鸣器控制方式征求意见
1.问题描述:要做个蜂鸣器的控制功能(有源蜂鸣器),控制蜂鸣器发出滴滴声音。
有两种模式,有长响和短响,也就是滴声的长度不同。
现在就实现的方式我和他们出现分歧,硬件小哥说简单的,就循环高电平然后延时再低电平。
就类似下面这样:
Beep_on;
delay;
beep_off;
delay;

2.我给的方法是用定时器输出PWM的方式,然后不同占空比实现,关闭蜂鸣器就关掉PWM输出通道就好。
硬件小哥好像不能明白我的意思,一直说不用输出PWM,无源蜂鸣器才用PWM,我也不想去给他讲了~~。

3.高低电平加上延时如果写成普通死循环的开始话我是觉的不行的,因为进入循环系统效率就低了很容易死掉,
后来想着能不能做成单独一个任务形式,因为系统任务的话都是死循环运行的,
我就在任务里面等待全局变量来选择不同的发声模式。目前只是构思而已

4.以上三种方式我自己可以写代码验证的,但是还是秉着遇到问题先充分分析的原则,
选择最优方法,避免浪费时间,所以还是发出来让大家看看,有经验的前辈还请给点建议,谢谢!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
37条回答
美丽的时光机器
1楼-- · 2019-07-22 00:05
323232 发表于 2018-8-17 08:09
不建议在程序里加延时啊...他硬件管那么多吗
把延时换成flag,检测到蜂鸣器需要响flag置1,否则置零
定 ...

我也不懂硬件小哥为啥管这么多,我刚来的时候产品有bug他还经常指使我改这个或那个代码~然而无一例外都是给我挖坑。。。
美丽的时光机器
2楼-- · 2019-07-22 02:30
wxY29qqFqL 发表于 2018-8-17 08:23
你只需要明白是谁来做的问题。

两者配合的啊  硬件和软件
lvehe
3楼-- · 2019-07-22 06:20
 精彩回答 2  元偷偷看……
美丽的时光机器
4楼-- · 2019-07-22 07:37
正点原子 发表于 2018-8-17 01:41
都可以。  无源蜂鸣器是需要pwm才能发声。但是有源蜂鸣器只需要供电就可以发声。你只需要控制供电的通断就 ...

有道理  不过控制方式要选的好一点,避免给大家挖坑
美丽的时光机器
5楼-- · 2019-07-22 10:42
edmund1234 发表于 2018-8-16 19:06
几种方法都可以, PWM的方法效率高一些

目前为止  我赞同你的想法
美丽的时光机器
6楼-- · 2019-07-22 13:53
lvehe 发表于 2018-8-17 08:43
用pwm比较好,如果有源的换成无源的,一样可以用。如果是有源的,PWM占空比设置为100%或0%就可以实现电源通 ...

我想通过不同占空比设置它高电平的时间不同来达到长响和短响的效果。

一周热门 更多>