Cómo configurar el timbre BEEP en STM8L15, lo he intentado muchas veces, pero solo puedo hacer que el timbre actúe pero no emita ningún sonido.
{
unsigned char state=0;//state
Gpio_Init();//inicialización de puerto
Led_Init();//Inicialización del LED
CLK_LSEConfig( CLK_LSE_ON); //Encender el reloj LSE
while(CLK_GetFlagStatus(CLK_FLAG_LSERDY)== RESET);
CLK_PeripheralClockConfig(CLK_ Peripheral_BEEP, ENABLE);//Habilitar el reloj periférico BEEP
CLK_BEEPClockConfig(CLK_BEEPCLKSource_LSE);//Configurar la fuente del reloj de BEEP en LSE
mientras (1)
{
if( GPIO_READ(GPIOB,GPIO_Pin_0)==0){
switch(state){ // Máquina de estado, seleccione función.
caso 1:BEEP_Init(BEEP_Frequency_1KHz);//unidad de onda cuadrada de 1KHZ BEPP
BEEP_Cmd(ENABLE);//habilita salidas para sonido
LED1_1() ; //El LED muestra el estado actual
LED2_0 ();
interrupción;
caso 2: BEEP_Init(BEEP_Frequency_2KHz);//unidad de onda cuadrada de 2 KHZ BEPP
BEEP_Cmd(ENABLE);//Habilitar vocalización de salidas
LED1_0();//El LED muestra el estado actual
LED2_1();
break;
Caso 3: BEEP_Init(BEEP_Frequency_4KHz);//unidad de onda cuadrada de 4KHZ BEPP
BEEP_Cmd(ENABLE);//Habilitar vocalización de salidas
LED1_1 ();//El LED muestra el estado actual
LED2_1();
interrupción;
predeterminado: estado=0;
break ;
}
}
LED1_0();//El LED muestra el estado actual
LED1_0();// El LED muestra el estado actual Estado
LED2_0();
delay_ms(1000);
BEEP_Cmd(DISABLE); //Apagar salida
delay_ms(500 ); //Retraso para distinguir sonidos de dos frecuencias
estado ++; //Siguiente estado
}.
}
Un pequeño programa escrito por ti mismo, llévatelo