beep.c:
#include "beep.h" void beep_init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE); GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST,ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOB,&GPIO_InitStructure); GPIO_ResetBits(GPIOB,GPIO_Pin_4); }
总结:
(1)GPIO_ResetBits(GPIOB,GPIO_Pin_4); 低电平
Delay(100);
GPIO_SetBits(GPIOB,GPIO_Pin_4); 高电平
GPIOB:选择蜂鸣器外设
GPIO_Pin_4:控制蜂鸣器的端口
(2)设置输出电平函数:SetBits 高电平
ResetBits 低电平
(3)推挽输出(GPIO_Mode_Out_PP)
可以输出高低电平。