STM32入门教程-2023版【3-2】快速实现驱动蜂鸣器

发布时间:2024年01月05日

关注?+ 点赞??不错过精彩内容

图片

大家好,我是硬核王同学,最近在做免费的嵌入式知识分享,帮助对嵌入式感兴趣的同学学习嵌入式、做项目、找工作!?

四、蜂鸣器

按照接线图接线,此时我们给PB12输出低电平,蜂鸣器就会响,输出高电平,蜂鸣器就不响

图片

注意A15、B3 B4这个口大家先别选!从引脚定义图可以看到,这三个口默认是JTAG的调试端回,如果要用作普通端口的话,还需要再进行一些配置

图片

复制LED流水灯的工程,改个名字叫3-3 蜂鸣器

图片

打开工程,while之前的程序都应该会写了

图片

和控制LED闪烁的工程初始化没什么太大的区别,只需要将RCC时钟和驱动的端口配置一下就好了,如以下形式

#include "stm32f10x.h" ? ? ? ? ? ? ? ? ?// Device header#include "delay.h" int main(void){ ? ? ? ? ? ? ? ?GPIO_InitTypeDef GPIO_Initstructure; ? ? ? ?RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); ? ? ? ? ? ? ? ?GPIO_Initstructure.GPIO_Mode = GPIO_Mode_Out_PP; ? ? ? ?GPIO_Initstructure.GPIO_Pin = GPIO_Pin_12; ? ? ? ?GPIO_Initstructure.GPIO_Speed = GPIO_Speed_50MHz; ? ? ? ?GPIO_Init(GPIOB, &GPIO_Initstructure); ? ? ? ? ? ? ? ?while(1) ? ? ? ?{ ? ? ? ? ? ? ? ? ? ? ? ?GPIO_SetBits(GPIOB, GPIO_Pin_12); ? ? ? ? ? ? ? ?Delay_ms(100); ? ? ? ? ? ? ? ?GPIO_ResetBits(GPIOB, GPIO_Pin_12); ? ? ? ? ? ? ? ?Delay_ms(100); ? ? ? ? ? ? ? ?GPIO_SetBits(GPIOB, GPIO_Pin_12); ? ? ? ? ? ? ? ?Delay_ms(100); ? ? ? ? ? ? ? ?GPIO_ResetBits(GPIOB, GPIO_Pin_12); ? ? ? ? ? ? ? ?Delay_ms(700); ? ? ? ? ? ? ? ? ? ? ? ?}}

作?者?:硬核王同学

-------?END?------

关注公众号回复“加群”按规则加入技术交流群 ?回复“1024”查看更多内容

图片

文章来源:https://blog.csdn.net/qq_56921854/article/details/135415429
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。