学习记录---STM32蜂鸣器实验

使用蓝桥杯CT117E板子
使用STM32标准库文件

1.初始化gpio端口 使能相应端口的时钟

	GPIO_InitTypeDef GPIO_Init_beep;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOB,ENABLE);
	GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST,ENABLE);

	GPIO_Init_beep.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_Init_beep.GPIO_Pin = GPIO_Pin_4;
	GPIO_Init_beep.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOB,&GPIO_Init_beep);

学习记录---STM32蜂鸣器实验_第1张图片
从图中可以看到蜂鸣器的PB4接口默认是JNTRST功能
所以需要重映射该接口 将JTRST关闭 使得PB4接口能够当作普通IO口使用

使用了引脚复用功能且APB1(2)里都没有相应的时钟所以需要开启AFIO时钟(个人理解)

2.在主函数中调用初始化函数并设置电平

int main()
{
	beep_init();
	while(1)
	{
		GPIO_SetBits(GPIOB,GPIO_Pin_4);
	}
}

你可能感兴趣的:(学习记录---STM32蜂鸣器实验)