OpenEdv-开源电子网

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

stm32F103驱动无源蜂鸣器不响,这是为什么?

[复制链接]

1

主题

12

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2017-10-15
在线时间
4 小时
发表于 2017-10-15 16:37:28 | 显示全部楼层 |阅读模式
5金钱
      本人在使用stm32驱动无源蜂鸣器时发现蜂鸣器不工作,一直找不到原因。希望大佬们解答一下。
      现在说明下配置与电路。
      file:///C:\Users\伟铸\Documents\Tencent Files\1290114231\Image\C2C\6X%HS9Q{2SW%M{J8U$@@3GL.pngfile:///C:\Users\伟铸\Documents\Tencent Files\1290114231\Image\C2C\6X%HS9Q{2SW%M{J8U$@@3GL.png

main函数代码,只是产生一个方波。

main函数代码,只是产生一个方波。

      这是main函数的内容,主要是初始化和产生一个方波信号来驱动蜂鸣器。
      

蜂鸣器驱动引脚PA4的配置

蜂鸣器驱动引脚PA4的配置

      这是蜂鸣器初始化内容,是对蜂鸣器驱动引脚的配置。配置为推挽输出。其余所使用的的代码文件sys.h与delay.h都是原子SYSTEM的代码。
      电路配置为:
       3.png
     这里的P14为PA4引脚,外接上拉电阻,VCC为5V。
      4.png
     J8连接到PA4引脚。
实验现象疑惑:烧录了程序后蜂鸣器不响,这是为什么呢?还有就是我给开发板上电的时候蜂鸣器会小声的叫一下。电源每次上电都会。但是上程序又不响。对了,这个开发板是我以前51用的,现在把51芯片换下来用32的核心板。我觉得应该可以用的。
      查了本网站的贴,之前有人发过这个,好像没人回帖或者解决。希望有人能替我解惑,谢谢。

最佳答案

查看完整内容[请看2#楼]

STM32的IO输出高电平是3.3V的,因Q2接了5V,PA4无论高低电平都是常开。应该是这个问题。Q2e极改接3.3V就可以了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

73

帖子

0

精华

高级会员

Rank: 4

积分
659
金钱
659
注册时间
2017-5-19
在线时间
146 小时
发表于 2017-10-15 16:37:29 | 显示全部楼层
STM32的IO输出高电平是3.3V的,因Q2接了5V,PA4无论高低电平都是常开。应该是这个问题。Q2e极改接3.3V就可以了。
回复

使用道具 举报

1

主题

12

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2017-10-15
在线时间
4 小时
 楼主| 发表于 2017-10-15 19:34:58 | 显示全部楼层
怎么没有人解答啊。。。帮顶一下也好啊,别让贴沉了。
回复

使用道具 举报

2

主题

73

帖子

0

精华

高级会员

Rank: 4

积分
659
金钱
659
注册时间
2017-5-19
在线时间
146 小时
发表于 2017-10-15 21:14:03 | 显示全部楼层
liuliupiaoxue 发表于 2017-10-15 20:54
STM32的IO输出高电平是3.3V的,因Q2接了5V,PA4无论高低电平都是常开。应该是这个问题。Q2e极改接3.3V就可 ...

还有你这个方波的频率可能驱动不了蜂鸣器。2.5Hz,改成delay_us(200)或许可以。
回复

使用道具 举报

1

主题

12

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2017-10-15
在线时间
4 小时
 楼主| 发表于 2017-10-15 21:45:10 | 显示全部楼层
liuliupiaoxue 发表于 2017-10-15 20:54
STM32的IO输出高电平是3.3V的,因Q2接了5V,PA4无论高低电平都是常开。应该是这个问题。Q2e极改接3.3V就可 ...

是这样吗?我电路方面不太懂,我仿真试试。谢谢你。
回复

使用道具 举报

1

主题

12

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2017-10-15
在线时间
4 小时
 楼主| 发表于 2017-10-16 20:42:28 | 显示全部楼层
liuliupiaoxue 发表于 2017-10-15 16:37
STM32的IO输出高电平是3.3V的,因Q2接了5V,PA4无论高低电平都是常开。应该是这个问题。Q2e极改接3.3V就可 ...

我找不到合适的仿真软件,请问有合适的推荐一下吗?
回复

使用道具 举报

2

主题

73

帖子

0

精华

高级会员

Rank: 4

积分
659
金钱
659
注册时间
2017-5-19
在线时间
146 小时
发表于 2017-10-16 21:49:14 | 显示全部楼层
weizhu 发表于 2017-10-16 20:42
我找不到合适的仿真软件,请问有合适的推荐一下吗?

硬件仿真可以用ST-link,还好用。找原子哥他们买。我是跟板子配套一起买的。
回复

使用道具 举报

1

主题

12

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2017-10-15
在线时间
4 小时
 楼主| 发表于 2017-10-17 15:59:28 | 显示全部楼层
liuliupiaoxue 发表于 2017-10-16 21:49
硬件仿真可以用ST-link,还好用。找原子哥他们买。我是跟板子配套一起买的。

呃呃,我说的是电路仿真软件,我已经有调试器了。
回复

使用道具 举报

2

主题

73

帖子

0

精华

高级会员

Rank: 4

积分
659
金钱
659
注册时间
2017-5-19
在线时间
146 小时
发表于 2017-10-17 17:24:35 | 显示全部楼层
weizhu 发表于 2017-10-17 15:59
呃呃,我说的是电路仿真软件,我已经有调试器了。

proteus,注意下载版本,旧版不支持STM32的。
回复

使用道具 举报

0

主题

96

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
297
金钱
297
注册时间
2017-10-12
在线时间
83 小时
发表于 2017-10-17 18:16:26 | 显示全部楼层
首先从电路上看,这个驱动方式是低电平驱动,也就是单片机输出低电平使得Q2(得到-5V偏压)工作,输出高电平使得Q2(得到0V偏压)截止。然而PA4输出的3.3V相对于VCC的5V来说是-1.7V,故实际单片机PA4输出高电平时,Q2(得到-1.7V偏压)很可能无法截止,所以导致蜂鸣器一直有电流流过也就无法发声了。
回复

使用道具 举报

0

主题

51

帖子

0

精华

高级会员

Rank: 4

积分
654
金钱
654
注册时间
2016-12-14
在线时间
332 小时
发表于 2017-10-17 18:25:00 | 显示全部楼层
无源蜂鸣器一般用27K频率驱动
回复

使用道具 举报

1

主题

12

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2017-10-15
在线时间
4 小时
 楼主| 发表于 2017-10-17 20:48:30 | 显示全部楼层
liuliupiaoxue 发表于 2017-10-17 17:24
proteus,注意下载版本,旧版不支持STM32的。

嗯嗯,好的,proteus好像只有8.6以上版本才支持是stm32的芯片。
回复

使用道具 举报

1

主题

12

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2017-10-15
在线时间
4 小时
 楼主| 发表于 2017-10-17 20:50:43 | 显示全部楼层
szjx1212 发表于 2017-10-17 18:25
无源蜂鸣器一般用27K频率驱动

好的,谢谢。
回复

使用道具 举报

1

主题

12

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2017-10-15
在线时间
4 小时
 楼主| 发表于 2017-10-17 20:56:55 | 显示全部楼层
cxf0153 发表于 2017-10-17 18:16
首先从电路上看,这个驱动方式是低电平驱动,也就是单片机输出低电平使得Q2(得到-5V偏压)工作,输出高电 ...

谢谢你的回答。
回复

使用道具 举报

17

主题

587

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
4467
注册时间
2013-6-27
在线时间
565 小时
发表于 2017-10-17 21:28:16 | 显示全部楼层
如果PA4有上拉电阻到VCC 5V 那管脚配置为OD输出模式,就可以控制了。
让我们的思维驾驭在电的速度之上!
回复

使用道具 举报

0

主题

96

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
297
金钱
297
注册时间
2017-10-12
在线时间
83 小时
发表于 2017-10-17 21:31:22 | 显示全部楼层
DongInker 发表于 2017-10-17 21:28
如果PA4有上拉电阻到VCC 5V 那管脚配置为OD输出模式,就可以控制了。

也是不行的,STM32的PA4不是FT,内部有钳位二极管,拉不到5V
回复

使用道具 举报

17

主题

587

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4467
金钱
4467
注册时间
2013-6-27
在线时间
565 小时
发表于 2017-10-17 21:38:22 | 显示全部楼层
cxf0153 发表于 2017-10-17 21:31
也是不行的,STM32的PA4不是FT,内部有钳位二极管,拉不到5V

那没有FT,只能换到FT管脚才能这样弄!
让我们的思维驾驭在电的速度之上!
回复

使用道具 举报

1

主题

12

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2017-10-15
在线时间
4 小时
 楼主| 发表于 2017-10-18 21:41:18 | 显示全部楼层
DongInker 发表于 2017-10-17 21:38
那没有FT,只能换到FT管脚才能这样弄!

原来是这样,又懂得了一点。
回复

使用道具 举报

1

主题

12

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2017-10-15
在线时间
4 小时
 楼主| 发表于 2017-10-18 21:41:49 | 显示全部楼层
DongInker 发表于 2017-10-17 21:38
那没有FT,只能换到FT管脚才能这样弄!

原来是这样,又懂得了一点。
回复

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2018-11-18
在线时间
11 小时
发表于 2019-9-16 22:04:57 | 显示全部楼层
大兄弟也是买的普中的板子吗?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-9 20:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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