关注?+ 点赞??不错过精彩内容
大家好,我是硬核王同学,最近在做免费的嵌入式知识分享,帮助对嵌入式感兴趣的同学学习嵌入式、做项目、找工作!?
按照接线图接线,此时我们给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”查看更多内容