历史上的今天
返回首页

历史上的今天

今天是:2024年09月05日(星期四)

正在发生

2019年09月05日 | 判断STM32 GPIO输入口的输入状态(高电平或低电平)

2019-09-05 来源:eefocus

以PE2和PE4为例:


① 判断单个端口是否为高电平:


if(GPIOE->IDR& GPIO_IDR_IDR2)


{


函数体;


}


当PE2端口为高电平时,if条件为真;当PE2口为低电平时,if条件为假;


 


② 判断单个端口是否为低电平:


if((~GPIOE->IDR)& GPIO_IDR_IDR2)


{


函数体;


}


分析:首先通过 &GPIO_IDR_IDR屏蔽掉PE2之外的其他PE口。当PE2为高电平时,GPIO-〉IDR的bit2为‘1’,取反后为‘0’,因此条件为假;当PE2为低电平时,GPIO-〉IDR的bit2为‘0’,取反后为‘1’,因此条件为真;通过此方法可以同时判断PE2或PE4(甚至更多PE口)是否为低电平(如按键被按下)


 


③ 判断多个端口中是否有低电平:


if((~GPIOE->IDR)& (GPIO_IDR_IDR2 | GPIO_IDR_IDR4))


{


函数体;


}


分析:首先通过 & (GPIO_IDR_IDR2| GPIO_IDR_IDR4)屏蔽掉PE2和PE4之外的其他PE口。当PE2或(和)PE4中为低电平时,GPIO-〉IDR的bit2或(和)bit4为‘0’,取反后为‘1’,因此条件为真;


注:此方法并不是用来判断stm32 IO口状态的最好和最直接的方法,但对于理解位操作会有帮助。

推荐阅读

史海拾趣

问答坊 | AI 解惑

什么是单片机

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与 ...…

查看全部问答>

合众达仿真器安装指导

如标题,英语版本。。。。…

查看全部问答>

两台电脑使用串口连接之后如何用windbg调试驱动

网上搜索,基本上讲的都是通过虚拟机VM进行调试,比如这篇借助VMware实现单机使用WinDbg 但是具体两台电脑使用串口连接之后,如何在host电脑上使用windbg调试Target电脑的驱动呢? 眼下参考借助VMware实现单机使用WinDbg 目标电脑我添加了debug ...…

查看全部问答>

求助各位高手!关于EBOOT和OAL衔接问题!依然没搞定!急请paul_chao大侠帮忙看看!谢谢啦!

1、config.bib中我已经加了 ELSE ;IMGFLASH     #define    NKSTART      9CA80000(flash的虚拟起始地址(0x9ca00000)+ EBOOT_OFFSET(0x80000))     #define    NKLEN  &n ...…

查看全部问答>

wince usbfn驱动切换问题

    最近在网上下了一个USBSWITCH代码,修改了一下,要实现我调的一个USBFN的驱动STD和系统的驱动MASS_STORAGE在系统跑起来后进行动态切换,让主机电脑把板子识别成不同的设备。     因为USBSWITCH所实现的是RNDIS、MASS_STOR ...…

查看全部问答>

display 驱动加载中 调用文件系统中的图片显示出来

display 驱动加载中 调用文件系统中的图片显示出来   就是在 display 驱动完成后 想 把 //system1//xxxx.bmp 图片掉出来并显示  有没有朋友做过 给点提示好吗  谢谢…

查看全部问答>

有谁做过出租车计费系统的,仿真有问题,求解答~~~~

出租车计费系统有顶层模块,速度模块,计程模块,计时模块,计费模块,用Quartus仿真时,为什么只能顶层模块课速度模块能有结果出来,到后面几个模块仿真时没有结果,而且像输入端口在仿真结果中没有了,郁闷,一直在纠结中~~~帮忙解答一下,如果要 ...…

查看全部问答>

430单片机三个时钟频率设置的原则是什么?

ACLK,MCLK,SMCLK三个时钟通常设置什么样的频率?或者接哪个时钟源?…

查看全部问答>

庆科网站的资料越来越全了

例如EMW3161的资料: http://www.joinmx.com/product.php?class_id=15&id=2          EMW3161是一种基于MX1081的超小型,超低功耗的嵌入式Wi-Fi模块。MX1081是一款超高集成度的Wi-Fi微控制器,集成了IEEE 802.11 M ...…

查看全部问答>