F103C 驱动无源蜂鸣器-不响,求问

2019-10-15 04:16发布

利用51单片机驱动是可以响的,但是利用STM32就不响了。代码如下
main.c....
#include "stm32f10x.h"
#include "buzz.h"
#include "sys.h"
#include "delay.h"
int main(void)
{       
        delay_init();                              
        buzz_init();       
       
        while(1)
        {
                PA1 = 1;
                delay_ms(1);         
          PA1 = 0;
                delay_ms(1);       
        }
}
buzz.c.....
#include "stm32f10x.h"
#include "buzz.h"
#include "sys.h"

void buzz_init(void)
{
        GPIO_InitTypeDef  GPIO_InitStructure;
       
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);       
       
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;                               
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;        
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;               
  GPIO_Init(GPIOA, &GPIO_InitStructure);                               
  PA1 = 1;                               
}


buzz.h.......
#ifndef __buzz_h
#define __buzz_h

#define PA1 PAout(1)
void buzz_init(void);

#endif


其他就就是案例模版。




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
dali77
1楼-- · 2019-10-15 08:10
尝试了很多次,把延时时间更改了多个,都不能用。但是如果延时定在0.1秒内,接到LED上面,LED就会有正常闪烁。已经困扰了几天,坐等解决方案。谢谢。
憨厚诚实大叔
2楼-- · 2019-10-15 12:21
无源蜂鸣器有个谐振频率的,你弄到谐振频率看看,没有就接上蜂鸣器上示波器看

一周热门 更多>