不用管LED,你直接当你这个直接有蜂鸣器就行了,
你就给PD4发蜂鸣器的型号就可以了;
你的那个JP48是个跳线帽还是个什么你要把它接上;
1.beep.h文件中写入
//蜂鸣器端口定义
void BEEP_Init(void); //初始化
2.beep.c文件中写入
//初始化 PB8 为输出口.并使能这个口的时钟
//LED IO 初始化
void BEEP_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //结构体指针
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
//使能 GPIOB 端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //BEEP--GPIOB.8 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //速度为 50MHz
GPIO_Init(GPIOB, GPIO_InitStructure); //根据参数初始化 GPIOB.8
GPIO_ResetBits(GPIOB,GPIO_Pin_8); //输出 0,关闭蜂鸣器输出
}
main主函数里面写入
//ALIENTEK 精英 STM32 开发板实验 2
//蜂鸣器实验
int main(void)
{
delay_init(); //延时函数初始化
LED_Init(); //初始化与 LED 连接的硬件接口ALIENTEK 精英 STM32F103 V1 开发板教程
BEEP_Init(); //初始化蜂鸣器端口
while(1)
{
LED0=0; //位操作,LED0为低电平
BEEP=0; //位操作,BEEP为低电平
delay_ms(300); //延时300毫秒
LED0=1;
BEEP=1;
delay_ms(300);
}
}
按键检测的话可以连接到任意的GPIO上面,只要初始化配置为输入,程序中采集该GPIO的电平状态来判断按键的状态即可。另外也可以使用GPIO的外部中断功能来判断按键状态。蜂鸣器把GPIO配置为输出就能控制了。
本文标签:蜂鸣器与stm32单片机连接