{
unsigned char state=0;//狀態
Gpio_Init();//端口初始化
Led_Init();//LED初始化
CLK_LSEConfig(CLK_LSE_ON); //打開 LSE 時鐘
while(CLK_GetFlagStatus(CLK_FLAG_LSERDY)== RESET);//等待 LSE 穩定
CLK_PeripheralClockConfig(CLK_Peripheral_BEEP, ENABLE);//使能 BEEP 外設時鐘
CLK_BEEPClockConfig(CLK_BEEPCLKSource_LSE);//配置 BEEP 的時鐘源為 LSE
while (1)
{
if( GPIO_READ(GPIOB,GPIO_Pin_0)==0){
switch(state){ //狀態機,選擇功能。
case 1:BEEP_Init(BEEP_Frequency_1KHz);//1KHZ 方波驅動BEPP
BEEP_Cmd(ENABLE);//使能輸出 發聲
LED1_1(); //LED 顯示當前狀態
LED2_0();
break;
case 2:BEEP_Init(BEEP_Frequency_2KHz);//2KHZ 方波驅動BEPP
BEEP_Cmd(ENABLE);//使能輸出 發聲
LED1_0();//LED 顯示當前狀態
LED2_1();
break;
case 3:BEEP_Init(BEEP_Frequency_4KHz);//4KHZ 方波驅動BEPP
BEEP_Cmd(ENABLE);//使能輸出 發聲
LED1_1();//LED 顯示當前狀態
LED2_1();
break;
default:state=0;
break;
}
}
LED1_0();//LED 顯示當前狀態
LED2_0();
delay_ms(1000);//延時,讓用戶聽壹會BEEP出聲
BEEP_Cmd(DISABLE); //關輸出
delay_ms(500); //延時,區分兩個頻率的聲音
state++; //下壹個狀態
}
}
自己寫的壹個小程序 ,拿走不謝