stm32控制蜂鸣器代码
时间: 2023-02-09 10:46:58 浏览: 223
你好!以下是使用 STM32 控制蜂鸣器的代码示例:
#include "stm32f4xx.h"
int main(void)
{
// 初始化蜂鸣器引脚
RCC->AHB1ENR |= RCC_AHB1ENR_GPIODEN; // 使能 GPIOD 的时钟
GPIOD->MODER |= GPIO_MODER_MODER15_0; // 设置 PD15 为输出
GPIOD->OTYPER &= ~GPIO_OTYPER_OT_15; // 设置 PD15 为推挽输出
GPIOD->OSPEEDR |= GPIO_OSPEEDER_OSPEEDR15; // 设置 PD15 为高速输出
while(1)
{
GPIOD->BSRRL = GPIO_BSRR_BS_15; // 设置 PD15 为高电平,蜂鸣器响起
for(int i = 0; i < 1000000; i++); // 延时
GPIOD->BSRRH = GPIO_BSRR_BS_15; // 设置 PD15 为低电平,蜂鸣器停止
for(int i = 0; i < 1000000; i++); // 延时
}
return 0;
}
在这个示例中,我们使用的是 STM32F4xx 系列处理器,蜂鸣器连接在 GPIOD 的第 15 个引脚上(PD15)。在 while 循环中,我们通过不断地将 PD15 设置为高低电平来控制蜂鸣器的响动。这里使用了一个延时函数来控制蜂鸣器响动的频率。
希望这个示例对你有帮助!
阅读全文