为什么我的开发板接上蜂鸣器跑程序每执行一个功能它就会响一下,例如我在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;
}
}
}
一周热门 更多>