mini板接蜂鸣器的问题

2019-07-21 07:03发布

      为什么我的开发板接上蜂鸣器跑程序每执行一个功能它就会响一下,例如我在lcd屏上实现5秒倒计时他会一直叫,后来我在倒计时功能后加beep=0;它才会停,不加就一直叫下去,我按下按键它也会叫一下,跑其他没有初始化蜂鸣器的程序他会一直叫。

#include "beep.h"
void BEEP_Init(void)
{
RCC ->APB2ENR |= 1 << 3;//?? PORTE ??

GPIOB ->CRH   |= 3 << 0;//???????
GPIOB ->CRH   &=~ (3 << 2);//PB.8 ????
GPIOB ->ODR   &= ~(1 << 8);//PB.8 ???
}



void jiemian(void)
{
    lcd_set_button_sta(0);
    image_display(0,0,(u8*)gImage_img);//在指定地址显示图片
//    LCD_ShowHZStr(10,10,"54321");
//    LCD_ShowHZ(100,150,1);
        LCD_ShowNUM(105,80,4,48,0);
        delay_ms(12000);
        LCD_ShowNUM(105,80,3,48,0);
        delay_ms(12000);
        LCD_ShowNUM(105,80,2,48,0);
        delay_ms(12000);
        LCD_ShowNUM(105,80,1,48,0);
        delay_ms(12000);
        LCD_ShowNUM(105,80,0,48,0);   
        delay_ms(12000);
        image_display(0,0,(u8*)gImage_img);
        BEEP=0;
}

int main(void)
{
        vu8 t;
    u8 lcd_id[12];        
//    u8 x=0;
      Stm32_Clock_Init(9);    //系统时钟设置
    uart_init(72,9600);         //串口初始化为9600
    delay_init(72);                //延时初始化
    LED_Init();                  //初始化与LED连接的硬件接口
     LCD_Init();        
    KEY_Init();
    BEEP_Init();
    POINT_COLOR=RED;
    tp_dev.init();            //触摸屏初始化
    sprintf((char*)lcd_id,"LCD ID:%04X",lcddev.id);//将LCD ID打印到lcd_id数组。
//    LCD_show_ascii(110,150,0xF800,BACK_COLOR,ascii_1);
//    LCD_ShowString(110,100,200,24,48,"5");
    jiemian();
    EXTI_Init();            //外部中断初始化
    while(1)
    {
        if(tp_user_interface())
        {
//            jiemian();
            LED0=0;
        }
        else
        {
            LED0=1;
        }        
    }
}


0条回答

一周热门 更多>