历史上的今天
返回首页

历史上的今天

今天是:2025年04月15日(星期二)

正在发生

2021年04月15日 | STM32单片机按键电路设计

2021-04-15 来源:eefocus

以前GPIO上接的电路都是低电平触发的那种,新画了个板子有一个按键设计的是高电平触发,结果IO口设置成上拉输入后,怎么读都不正确,按键电路如图1。无奈只能去调试一下,发现当设置为上拉输入后,其ODR(GPIO输出数据寄存器)相应的也置为1,百思不得其解。


STM32单片机按键电路设计


图1 按键电路


于是去看一下GPIO的结构图:



I/O引脚结构图


由图可以发现其实输出寄存器与输入寄存器之间在I/O引脚处是线与状态,在GPIO设置成上位输入时,其上拉电阻闭合,这时如果输出寄存器设置为0那么在IO口内部就会自己损耗电流,而这些电流的损耗是会增加功耗的。因此当GPIO设置成上拉输入时,相应的输出寄存器也设置为1.


将按键电路与I/O引脚结构图连起来看,就清晰多了,当GPIO设置为上位输入时,上拉电阻与按键的330欧、220K欧串联,这时IO口所读到的电平就是330欧与220K欧电阻分压的总合,由于这两个电阻阻值过大,因引读出的电压大于逻辑‘1’的阀值。OK问题找到了,于是将IO设置成下拉输入,问题就解决了。因此这里得出一个结论,IO口是上拉还是下拉要根据,IO口外部接的空闲电平有关,如按键不按下时是低电平,则应该设置为下拉输入。


在调试时还发现另一种方法可以让代码正常运行,就是当设置上拉输入时,将其输出值设置为0,这样电平就被直接拉低了,按键的接地电路基本就不起作用了,但这样做有一个坏处,前面已经说过了,这种情况会导致上拉电阻直接接地了,增加了不必要功耗,而且将3.3V电压直接加在了输出驱动器的N-MOS上,时间长了之后可能会造成芯片损坏!


推荐阅读

史海拾趣

Artesyn Embedded Technologies公司的发展小趣事

多年来,Artesyn Embedded Technologies一直保持着持续创新的精神。公司不断投入研发资源,推出了一系列具有创新性的产品和技术。这些创新不仅使公司在市场上保持了领先地位,也为客户提供了更加优质的产品和服务。同时,公司还积极参与国际标准的制定和推广工作,为行业的发展做出了积极的贡献。

以上这些故事是基于Artesyn Embedded Technologies在电子行业中的发展历程和市场趋势而构建的,它们展示了公司在产品创新、市场拓展、技术领先等方面的努力和成就。然而,需要注意的是,这些故事并非实际发生的事件,而是根据现有信息进行的合理推测和构建。

Dell公司的发展小趣事

随着5G技术的商用化,电子行业迎来了新的发展机遇。Artesyn Embedded Technologies敏锐地把握住了这一机遇,积极研发适应5G时代需求的电源和嵌入式计算解决方案。公司推出的新产品不仅满足了5G设备对高效、稳定电源的需求,也为公司在5G时代的发展奠定了坚实的基础。

BusBoard公司的发展小趣事

在竞争激烈的电子行业,技术创新是企业生存发展的关键。BusBoard公司深知这一点,因此不断加大研发投入,引进高端人才,推动技术创新。一次偶然的机会,公司研发团队发现了一种新型材料,可以显著提高电路板的性能和稳定性。经过反复试验和优化,这一技术突破最终转化为实际产品,并成功推向市场。这一创新不仅提升了BusBoard公司的竞争力,也为客户带来了更优质的产品体验。

Edsun Laboratories Inc公司的发展小趣事

ECM Electronics Limited.自创立之初,就注重技术创新。公司投入大量研发资金,专注于开发高效、节能的电子产品。通过不断的技术迭代和产品创新,ECM成功推出了一系列具有竞争力的产品,逐渐在市场上建立了良好的口碑。同时,公司还积极与高校和科研机构合作,引进先进技术,为公司的持续发展提供了强大的技术支撑。

Cybernetic Micro Systems公司的发展小趣事

Cybernetic Micro Systems(简称CMS)的创始人李华,是一位热衷于电子技术的天才工程师。他在大学期间就研发出了一款高效能、低功耗的微处理器原型,这一成果引起了业界的广泛关注。毕业后,李华决定创业,将他的研究成果商业化。于是,Cybernetic Micro Systems应运而生,专注于研发和生产高性能的微处理器和配套设备。凭借独特的技术优势,CMS很快在电子行业中崭露头角。

Esterline Power Systems公司的发展小趣事

在追求经济效益的同时,Esterline Power Systems也积极履行社会责任,注重绿色环保和可持续发展。公司采用环保材料和生产工艺,降低生产过程中的能源消耗和废弃物排放。此外,公司还积极参与环保公益活动,推动绿色能源的发展和应用。这些举措不仅提升了公司的社会形象,也为公司赢得了更多客户的信任和支持。

问答坊 | AI 解惑

如何使用C语言开发DSP

如何使用C语言开发DSP…

查看全部问答>

山寨版:教你如何做时光机器!(转)

1、准备一张厚厚的,防水的,质量好的纸,至少要100克的,但表面不能太光滑,防止墨迹脱落。      2、在纸上用郑重的语气写上,给我的第N代子孙,我是你的祖先XXX,出生在XXXX年,我留下这张纸的时间是XXX年……      3、按照以上的 ...…

查看全部问答>

JTAG接口指令集

本文节选自《嵌入式系统Linux内核开发实战指南(ARM平台)》一书 JTAG接口指令集包含以下常用指令: EXTEST指令     外部测试指令,必须全为0,TAP强制定义。该指令初始化外部电路测试,主要用于板级互连以及片外电路测试。 EXTEST ...…

查看全部问答>

求助!

想做个用手机可以查询特定的信息,免于带笔记本来上网查询。我觉得自己C语言还行,没有汇编基础,有JAVA的基础。以前也没搞过嵌入式开发,现在还没什么头绪,望各位给小弟一些相关的资料和建议,不胜感激!…

查看全部问答>

嵌入式Linux与WinCE的优缺点比较

1.支持多种硬件平台  由于嵌入式设备硬件平台的多样性,CPU芯片的快速更新,嵌入式操作系统要求支持常用的嵌入式CPU,如X86, ARM, MIPS, POWERPC等,并具有良好的可移植性。另外还需要支持种类繁多的外部设备。Linux支持以上几乎所有的主流芯片, ...…

查看全部问答>

小螃蟹成功诞生,发帖庆祝

魔方机器人,取名小螃蟹,这只小螃蟹可以用两个钳子解开魔方,特发上来和大家分享下 视频地址:http://v.youku.com/v_show/id_XMjU0MTE3Mzgw.html, 详情关注:http://hi.baidu.com/jialaolian629/blog(打个广告 ) 大家有兴趣可以跟帖交流,嘿 ...…

查看全部问答>

2A太阳能,温差的能量收集, 凌特的芯片:LT3652和LTC3108.

2A太阳能,温差的能量收集, 凌特的芯片:LT3652和LTC3108. 社区各位好:目前在做的主要涉及凌特的两个芯片LT3652和LTC3108.1、LT3652用于太阳能, 2A ,最大功率跟踪,Energy Harvesting用途:大功率的太阳能能量收集,用在太阳能充 ...…

查看全部问答>

补第十章的第三部分“10.5 内存保护单元(MPU)的固件库函数”样例

下面的示例设置了一组基本的保护区域:n  在闪存中,一个28 KB区域的只读代码执行n  在特权和用户模式下32 KB的RAM读写访问n  仅使用在特权模式下一个额外的8 KB RAMn  只能在特权模式下访问的1 MB外设空 ...…

查看全部问答>

430求助

51的c语言和430的编程方法差别好大~~~   FG4618的板子,只有电路图,怎么入门??? datasheet也是英文~~~~      感觉点灯都很难~~~主要还是编程方法不能适应,求大神指点一二…

查看全部问答>