151_STM32F407蜂鸣器驱动

         整个STMF407系列的学习汇总链接如下:

https://github.com/GreyZhang/g_stmf407

         今天整理一下蜂鸣器的驱动。

       其实,蜂鸣器的驱动是很简单的,本质上就是一个PWM波的驱动。我看了一下说明,输入的驱动波形一般是2~5KHZ。然而,我砍了下别人的Demo,做了一个周期600ms的PWM也能够驱动蜂鸣器。

         我自己的例程是基于FreeRTOS的,实现起来更简单,其实就是一行代码:

void beep_step(void)
{
    printf("dididi\n\r");
    HAL_GPIO_TogglePin(GPIOF,GPIO_PIN_8);
}

         其实,代码中打印的这个提示并不是真实的响声。实际的运行过程中应该是每执行2次才会出现一次滴的声音。

         软件编译成功之后,运行听到了期待的声音。

         值得一说的是,我看到的例程中驱动管脚的配置使用了下拉,同时也配置了高速的属性。但是这个例程中这个并不是必须的。我自己配置的代码中并没有使用上拉或者下拉电阻,配置的也是低速的属性。同样听到了滴滴滴的声音。

         相关的代码可以从以下链接找到:

         https://github.com/GreyZhang/g_stmf407

你可能感兴趣的:(ARM)