概述
有不少产品有蜂鸣器需求,经过整理,总结需求如下:
- 为增加触摸屏触摸感效,当控件有效触摸则驱动蜂鸣器响一声提示
- 同样,当外接键盘被按下时,驱动蜂鸣器响一声
- 蜂鸣器可由软件通过语句驱动蜂鸣器响一声
- 蜂鸣器选用无源蜂鸣器,通过屏幕扩展接口的PWM驱动,因此音调和时间可以通过语句控制
电路
扩展口E6通过MOS管驱动无缘蜂鸣器,蜂鸣器可以选用5V或者3.3V的,MOS管选用常用的si2302 NMOS
软件说明
//使用beepmode语句打开触摸屏或按键蜂鸣的功能示例:
//触摸屏响应蜂鸣,触摸后用1000hz的声音响0.2秒
beepmode(1,1000,20);
//键盘按钮响应蜂鸣
beepmode(2,1000,20);
//触摸屏和键盘都响应
beepmode(3,1000,20);
//关闭蜂鸣器响应
beepmode(0,0,0);
//软件直接驱动按2000hz的声音响0.5秒
beep(2000,50);
有关扩展接口E6接蜂鸣器
- 在使用6key或8key模式下,可以使用:
gpio_mode(5,1); //将E6端口设置为输出端
gpio_out(5,0) //设置E6端口为低电平
关闭端口用于蜂鸣器的驱动
- 在使用16key或者12key的模式时候,如果使用beep语句,将直接关闭E6端口,也就是说在16key模式下变成12key;而原有的12key则变成9key
- 在使用beep模式时候,PWM端口将受到干扰,因为两个PWM端口频率必须一致,beep将会设置频率
注意:
- 软件层面应该注意E6端口不能持续输出高电平,否则可能导致蜂鸣器常接电源烧毁