小白跟做江科大32单片机之蜂鸣器

1.复制之前编写的工程库项目,详细工程库创建过程如下链接:

小白跟做江科大32单片机之LED闪烁-CSDN博客https://blog.csdn.net/weixin_58051657/article/details/139295351?spm=1001.2014.3001.55022.按照江科大老师给的图片进行连接蜂鸣器

接线时要用公对母连接线

像下图这样标红的线

3.修改main.c代码

#include "stm32f10x.h" // Device header

#include "Delay.h"

int main(void)

{

/*开启时钟*/

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //开启GPIOB的时钟

//使用各个外设前必须开启时钟,否则对外设的操作无效

/*GPIO初始化*/

GPIO_InitTypeDef GPIO_InitStructure; //定义结构体变量

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //GPIO模式,赋值为推挽输出模式

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; //GPIO引脚,赋值为第12号引脚

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //GPIO速度,赋值为50MHz

GPIO_Init(GPIOB, &GPIO_InitStructure); //将赋值后的构体变量传递给GPIO_Init函数

//函数内部会自动根据结构体的参数配置相应寄存器

//实现GPIOB的初始化

/*主循环,循环体内的代码会一直循环执行*/

while (1)

{

GPIO_ResetBits(GPIOB, GPIO_Pin_12); //将PB12引脚设置为低电平,蜂鸣器鸣叫

Delay_ms(100); //延时100ms

GPIO_SetBits(GPIOB, GPIO_Pin_12); //将PB12引脚设置为高电平,蜂鸣器停止

Delay_ms(100); //延时100ms

GPIO_ResetBits(GPIOB, GPIO_Pin_12); //将PB12引脚设置为低电平,蜂鸣器鸣叫

Delay_ms(100); //延时100ms

GPIO_SetBits(GPIOB, GPIO_Pin_12); //将PB12引脚设置为高电平,蜂鸣器停止

Delay_ms(700); //延时700ms

}

}

4.实现效果

STM32蜂鸣器效果

提示:

100 100 100 700ms给值,就会使得蜂鸣器发出江科大老师的律动

相关推荐
驴友花雕3 小时前
【花雕动手做】行空板 K10 系列实验之人工智能语音识别小车的10个参考案例
人工智能·单片机·嵌入式硬件·语音识别·行空板 k10 系列实验·花雕动手做·小车的10个参考案例
hsjiasb3 小时前
FreeRTOS学习(二十七)——任务栈与栈溢出检测
开发语言·stm32·学习·学习笔记·freertos
日拱一卒的小田9 小时前
ZYNQ学习笔记3-ZYNQ的IIC控制器1
笔记·单片机·学习
cardinal_5089 小时前
STM32MP157F-DK2开发板构建交叉编译链
stm32·单片机·嵌入式硬件
小羊先生car10 小时前
F429-HAL-RS485(回环/双机实验)(2026/8/16)
c语言·单片机·嵌入式硬件·软件构建
木白CPP10 小时前
Linux 驱动UART子系统源码分析
linux·运维·服务器·驱动开发·嵌入式硬件·开源软件
zlinear数据采集卡11 小时前
数据采集卡从入门到精通(10):采样率与分辨率的核心关系——反比律、架构分布与过采样
arm开发·嵌入式硬件·算法·fpga开发·架构·开源
水果里面有苹果13 小时前
33-TPS62130RGTR-3A降压器
嵌入式硬件
振南的单片机世界14 小时前
推挽vs开漏:一个“强拉硬灌”,一个“只拉不管”
arm开发·stm32·单片机·嵌入式硬件
小心亦新14 小时前
STM32学习23--I2C-1
stm32·嵌入式硬件·学习