你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103的引脚连接开关是否可行?

[复制链接]
liucw99 提问时间:2016-12-16 22:19 /
单片机是STM32F103C8T6,在其中的一个引脚上面连接了一个2位3脚的开关。
目标是在系统运行期间,通过拨动这个开关(分别连接电源的正极或者负极)来改变这个引脚的电平高低。单片机检测到电平的变化后改变运行的模式。
我想知道,硬件上,是否可以直接将单片机的引脚与这个开关的中间那个引脚连接?还是说需要串接一个电阻?引脚怎么配置?


开关例子

开关例子
收藏 1 评论46 发布时间:2016-12-16 22:19

举报

46个回答
shuolang126 回答时间:2016-12-17 07:54:01
中间的pin脚串联1K电阻,然后一个1uF电容到地,构成RC低通滤波,可以减轻一些信号毛刺,同事1K电阻也可以保护MCU的IO口,直连也可以。STM32的引脚配置为浮空输入即可,使用读取IO的库函数,就可以获取当前IO的输入电平是高或者低;
如果你VCC不连接,只是接地,那么配置成上拉输入,也可以实现两种状态的识别。
如果只识别高低两种状态,一般仅使用单向开关,接地就可以实现!

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

watershade 回答时间:2016-12-16 22:59:39
本帖最后由 watershade 于 2016-12-16 23:02 编辑

通常情况下你可以直接连接。Vcc和你单片机的电平持平。当然你如果你加上1K的电阻会更好。但是如果你的环境中有弱电(比如220VAC)甚至强电(>10KV),或者电磁环境复杂,最好的办法当然是添加隔离电路。有时甚至要加比较复杂的光隔离或者磁隔离芯片。
有时为了减少软件滤波的难度,比如你这个开关信号,对于慢速系统可以添加相应大小的电容来滤波或者TVS二极管滤波的方法。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

liucw99 回答时间:2016-12-16 23:20:10
watershade 发表于 2016-12-16 22:59
通常情况下你可以直接连接。Vcc和你单片机的电平持平。当然你如果你加上1K的电阻会更好。但是如果你的环境 ...

多谢你的解答。还有一个问题:
连接后(无论是否添加电阻),STM32的引脚怎么配置呢?
斜阳__ 回答时间:2016-12-17 09:09:51
帮顶,按键接通的瞬间会有抖动,要加硬件滤波电路;不知道开关有没有

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

leo121_3006061 回答时间:2016-12-17 11:50:45

仅供参考

仅供参考

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

liucw99 回答时间:2016-12-17 13:38:26
shuolang126 发表于 2016-12-17 07:54
中间的pin脚串联1K电阻,然后一个1uF电容到地,构成RC低通滤波,可以减轻一些信号毛刺,同事1K电阻也可以保 ...

如果我将开关的连接只是到GND,是否就是下面的这个样子?

连接图

连接图


非常感谢你了。

liucw99 回答时间:2016-12-17 13:39:18
斜阳__ 发表于 2016-12-17 09:09
帮顶,按键接通的瞬间会有抖动,要加硬件滤波电路;不知道开关有没有

开关没有的,就是普通的开关。我添加一个电容?

多谢你的解答。
liucw99 回答时间:2016-12-17 13:40:01
lzts 回答时间:2016-12-17 14:54:29
搞更复杂.端口设为输入模式.内部上拉(还有干扰就外部加1个几K的上拉电阻).然后直接接开关中点.开关一端接地,另一端空.开关抖动什么的同软件处理.

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

12345下一页
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版