OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2955|回复: 3

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

[复制链接]

2

主题

20

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2016-4-23
在线时间
5 小时
发表于 2016-10-6 21:34:55 | 显示全部楼层 |阅读模式
1金钱
利用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


其他就就是案例模版。




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

20

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2016-4-23
在线时间
5 小时
 楼主| 发表于 2016-10-6 21:41:52 | 显示全部楼层
尝试了很多次,把延时时间更改了多个,都不能用。但是如果延时定在0.1秒内,接到LED上面,LED就会有正常闪烁。已经困扰了几天,坐等解决方案。谢谢。
回复

使用道具 举报

30

主题

1170

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1993
金钱
1993
注册时间
2016-2-16
在线时间
527 小时
发表于 2016-10-6 21:56:01 | 显示全部楼层
无源蜂鸣器有个谐振频率的,你弄到谐振频率看看,没有就接上蜂鸣器上示波器看
回复

使用道具 举报

0

主题

0

帖子

0

精华

新手入门

积分
1
金钱
1
注册时间
2022-12-3
在线时间
5 小时
发表于 2017-2-9 11:56:35 | 显示全部楼层
我的也是这样的问题,不知楼主是如何解决的呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-7 00:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表