一、电路图
单片机引脚驱动能力不足,需要一个三极管放大电路。
NPN型三极管: 当基极有高电平通过时,集电极就会有电流通过到发射极,右边电路就会导通;当基极有低电平通过时,电路就会断开。
PNP型三极管:当基极有低电平通过时,集电极就会有电流通过到发射极,右边电路就会导通;当基极有高电平通过时,电路就会断开。
二、GPIO引脚初始化
设置为推挽输出:推挽输出可以输出强上下 强下拉。
void BEEP_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_ResetBits(GPIOB,GPIO_Pin_8);
}