第一步:蜂鸣器介绍
请注意 “13.2.2蜂鸣器校准”的第2点
好了,蜂鸣器介绍完了,其实就是看数据手册,就是这么简单。下面就是具体实现了。
第二步:具体实现
void Beep_Init(void)
{
CLK_ICKR |= 0x08; //开启内部LSI
while(!(CLK_ICKR&0x10)); //等待内部低速LSI就绪
BEEP_CSR = 0x20|14; //输出1KHz
} 不要问我这里为什么是14。
int main( void )
{
System_Init();
Beep_Init();
while (1);
}
关于函数System_Init(),请看这一讲: 《stm8 点亮第一个LED》 里面有关于时钟的介绍和实现。
这里我们还需要设置stm8s的选项字节OptionByte的ARF7。
在仿真模式下:ST-LINK--->Option bytes--->ARF7,右击鼠标选择Alternate Active。
如下图所示:
有图有真相了。O(∩_∩)O哈哈~
至此蜂鸣器介绍完毕。