打印
[STM8]

香版!STM8S208的BEEP功能是不是不能用?

[复制链接]
4303|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
juanhao|  楼主 | 2009-7-17 16:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我问ST工程师的邮件:
~~:
    你好!
    我需要用到BEEP功能,可是设定寄存器后跑程序,发现BEEP寄存器并没有改变.OPTION里面我有把PD4设成BEEP功能,OPTION里的PRSC设成(16MHZ TO 128KHZ PRESCALE),OPTION里CKAWUSEL设成(HSE CLOCK SOURCE WITH PRESCALER SELECT FOR AWU ).
    请帮忙看看是怎么回事?谢谢!

ST工程师回复:

~~:
你好!
我这儿没有16M的晶体,但其他几个频率的晶体可以工作。
但是我一直都建议不要用这种方式驱动蜂鸣器。
对于批量产品最好采用如下方式:
1、可以通过定时器中断翻转IO实现
2、设置成PWM工作方式,(一次初始化好就可以)
沙发
ijk| | 2009-7-17 17:24 | 只看该作者

STM8S208的BEEP功能

  STM8S208的BEEP功能可以用,用过它没有问题。BEEP功能很简单,应该有例子的。

使用特权

评论回复
板凳
香水城| | 2009-7-17 23:09 | 只看该作者

楼主给出的所谓"ST工程师回复"不可信

ST MCU的三合一套件上就有使用BEEP驱动蜂鸣器的例子,你可以去看看。

使用特权

评论回复
地板
juanhao|  楼主 | 2009-7-18 10:47 | 只看该作者

香版

我不用内部LSI晶体,用的是外部16MHZ,我手上也没有什么3合一,只有库文件,能否麻烦你百忙之中抽空解决我这个小问题.

使用特权

评论回复
5
kelan| | 2009-7-18 16:37 | 只看该作者

简单这样即可:

void Beep(u8 state)
{

//------------------ Beep ON
   if(state)
    {
       BEEP_CSR = 0x6F;    
    }
//----------------- Beep OFF
   else     
   {    
     BEEP_CSR = 0x4F; //--- Beep OFF;
   }

}

//-- 备注说明: 

// 1. 时钟选默认设置(内部16M Hz) 

// 2. Option 中,设置 Port D4 Alternate Function = BEEP

使用特权

评论回复
6
ddllxxrr| | 2009-7-23 16:24 | 只看该作者

我也遇到同样问题怎么办哟

我也遇到同样问题怎么办哟

使用特权

评论回复
7
香水城| | 2009-7-23 16:29 | 只看该作者

先不要接蜂鸣器,用一个示波器看看是否有波形输出

只要有波形输出就没有问题。

有可能你的蜂鸣器需要的驱动太大,STM8的功率不够。

使用特权

评论回复
8
ddllxxrr| | 2009-9-11 09:40 | 只看该作者
问题是根本没波形,请不要怀疑硬件

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

91

主题

187

帖子

0

粉丝