OpenEdv-开源电子网

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

蜂鸣器开关疑惑(关于 gpio_set_value()函数与beep-gpio属性设置)

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2024-4-27
在线时间
1 小时
发表于 2025-4-26 13:28:54 | 显示全部楼层 |阅读模式
1金钱
在开发板中,蜂鸣器的原理图如下图示,可以看出,低电平响,高电平不响。

在正点原子提供的文档教程里,设备树文件中设置BEEP设备节点时,节点属性beep-gpio的有效电平为高电平有效,很疑惑,为什么是高电平?根据原理图不应该是低电平吗?

此外,在beep.c的文件中,使用gpio_set_value()函数设置蜂鸣器的开关为:0打开,1关闭。但根据网上资料可知,其中的电平信号为逻辑电平,而非物理电平,据此,打开蜂鸣器不应该是1,关闭蜂鸣器不应该是0吗?

更疑惑的是,根据文件中所示设置,可以实现蜂鸣器的正常启停。但按照本人理解,即,将beep-gpio属性中有效电平设置为低电平,gpio_set_value()函数中,传入1打开蜂鸣器,传入2关闭蜂鸣器,设置后,蜂鸣器启停颠倒。


是本人的理解有误吗?望好心人解答,独立学习实在困难重重   

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

使用道具 举报

12

主题

3394

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8664
金钱
8664
注册时间
2020-5-11
在线时间
4130 小时
发表于 2025-4-28 14:42:46 | 显示全部楼层
看不到图,是在高级模式的“附件”里上传的吗?
蜂鸣器的两个脚接的啥?到GPIO之间有没有啥器件?
专治疑难杂症
回复

使用道具 举报

3

主题

401

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1768
金钱
1768
注册时间
2015-6-11
在线时间
312 小时
发表于 2025-5-6 10:22:02 | 显示全部楼层
你对节点的理解是对的,但是接口里面gpiod_set_value才是写入逻辑电平,受到beep-gpio中的高/低电平影响,gpio_set_value相当于gpiod_set_raw_value,写入的是物理电平,与这个配置项无关,所以如何写都一样,0打开,1关闭(只受硬件影响)
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 02:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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