判断STM32 GPIO输入口的输入状态(高电平或低电平)

发布者:快乐旅行最新更新时间:2019-09-05 来源: eefocus关键字:STM32  GPIO  输入口  输入状态 手机看文章 扫描二维码
随时随地手机看文章

以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口状态的最好和最直接的方法,但对于理解位操作会有帮助。

关键字:STM32  GPIO  输入口  输入状态 引用地址:判断STM32 GPIO输入口的输入状态(高电平或低电平)

上一篇:stm32输入捕获,捕获高电平
下一篇:STM32按键总结(低电平有效及上升沿有效))

推荐阅读最新更新时间:2024-11-16 22:21

stm32中断向量控制器
NVIC,中文名嵌套中断向量控制器,是Cortex-M3系列控制器内部独有集成单元,与CPU结合紧密,降低中断延迟时间并且能更加高效处理后续中断。举个例子,比如火车站买票,那些火车站的规章制度就是NVIC,规定学生和军人有比一般人更高优先级,它们则给你单独安排个窗口,同学与同学之间也有区别,那就是你也得排队,也就是你的组别(抢断优先级)和你的排队序号(响应优先级)决定你何时能买到票。 抢断优先级, 顾名思义 ,能再别人中断是抢占别人中断,实现中断嵌套。响应优先级则只能排队,不能抢在前面插别人的对,即不能嵌套。 STM32中指定优先级的寄存器为4位,其定义如下: 第0组:所有4位用于指定响应优先级 第1组:最高1位用于
[单片机]
LCD12864驱动(STM32)5V和3.3V
一、前期准备 单片机:STM32F103ZET6 开发环境:MDK5.14 库函数:标准库V3.5 LCD12864模块:淘宝有售 二、实验效果 3.3V LCD12864 5V LCD12864 三、驱动原理 5V和3.3V模块均可以用STM32直接驱动,而不像1602那样5V必须是用5V驱动。注意的是模块上面的PSB脚接VCC,接VCC的话是采用并口传输数据,接GND采用串口传输,串口程序会在以后的博客中跟新。RST脚接VCC,此处没有用到硬件复位,所以直接接VCC,其复位低电平有效。驱动芯片资料,请自行搜索ST7920,里面自带字库。 需要完整工程或者有问题的请加QQ:100252187
[单片机]
LCD12864驱动(<font color='red'>STM32</font>)5V和3.3V
2.1、STM32怎么创建工程:如何创建第一个工程模板(基于固件库)
一、 首先在电脑的某个目录下创建一个空文件夹用来存放工程文件。创建好后在该文件目录下分别创建CORE 、FWLIB、OBJ、SYSTEM、USER等五个子文件夹。至于这些文件夹名字,实际上是可以任取的,我们这样取名只是为了行业规范。 二、打开keil软件,点击 Keil 的菜单: Project – New Uvision Project,保存时将目录定位到自己创建的文件下的USER子目录下: 三、接下来会出现一个选择 Device 的界面,就是选择我们的芯片型号,我们选择STM232F407ZE(如果使用的是其他系列的芯片,选择相应的型号就可以了)特别注意: 一定要安装对应的器件支持包才会显示这些内容)。 这里是
[单片机]
2.1、<font color='red'>STM32</font>怎么创建工程:如何创建第一个工程模板(基于固件库)
STM32单片机bxCAN的工作模式解析
1 bxCAN工作模式 bxCAN有3个主要的工作模式:初始化模式、正常模式和睡眠模式。 在硬件复位后,bxCAN工作在睡眠模式以节省电能,同时CANTX引脚的内部上拉电阻被激活。软件通过对CAN_MCR寄存器的INRQ或SLEEP位置’1’,可以请求bxCAN进入初始化或睡眠模式。一旦进入了初始化或睡眠模式,bxCAN就对CAN_MSR寄存器的INAK或SLAK位置’1’来进行确认,同时内部上拉电阻被禁用。 当INAK和SLAK位都为’0’时,bxCAN就处于正常模式。在进入正常模式前,bxCAN必须跟CAN总线取得同步;为取得同步,bxCAN要等待CAN总线达到空闲状态,即在CANRX引脚上监测到11个连续的隐性位。 1.
[单片机]
<font color='red'>STM32</font>单片机bxCAN的工作模式解析
STM32学习笔记——使用SysTick定时器做延时
开学了,无法再像假期一样能够一整天玩板了!好在这学期的课说少不少,说多也不多,每周也有十几大节。剩下的时间除去学生工作等一些七七八八的事情,间断着还是能看看教程玩玩板!越发发现《STM32菜鸟学习手册 啰嗦版》真是不错的入门教程,简单易懂。其他诸如《固件库手册》等等官方文件更是必不可少,可惜ST公司的网页找手册实在麻烦得很呐! 这两天一直在看有关于系统嘀嗒时钟SysTick的文件,但由于3.5版的固件库较2.0版的库,已经将SysTick相关的驱动函数移除,用户要使用SysTick就必须改为调用CMSIS中的函数,而网上大多数的例程(包括《菜鸟学习手册》)使用的都是2.0的库,以至于在学习中遇到许多问题,程序编译总会出现
[单片机]
<font color='red'>STM32</font>学习笔记——使用SysTick定时器做延时
STM32单片机电源端并联电容的重要性
如图,笔者用TQFP(32-100PIN)0.55MM转直插的转接板焊了一个STM32F207VET6的板子。板上引出了SWD调试接口(仅占用PA13和PA14),USART1串口引脚,插了一个触摸传感器和蜂鸣器模块。 所要实现的功能是:用手触碰一下触摸传感器后,蜂鸣器响一声。 接触摸传感器模块输出信号接到PA0口上。在没有接电源电容之前,每一次单片机复位(无论是软件复位还是按下复位键复位),PA0上会自动产生一个异常的高电平,要等上将近10秒才会回到低电平,然后触摸传感器才能正常工作。每次复位的时候蜂鸣器都会响一下,10秒之内按触摸键都没有反应。 后来我接了一个4.7μF的电解电容器和两个100nF的无极性电容器,问题就解决
[单片机]
STM32的电源管理与低功耗控制设计
7.1电源管理概述 处理器广泛地利用门时钟来禁能那些未用的功能和未用功能块的输入,因此只有正在有效使用中的逻辑才会消耗动态功率。 ARMv7-M架构支持为减少功耗而让Cortex-M3和系统时钟停止运行的系统睡眠模式。 7.2系统电源管理 对系统控制寄存器进行写操作(见“系统控制寄存器”)可以控制Cortex-M3系统功耗的状态,表7-1列出了支持的睡眠模式。 a.即使没有异常被激活也可以执行WFI指令。不要使用WFI指令来探测异常是否发生。WFI通常使用 在线程模式下的空闲循环中。要了解更多有关WFI、WFE、BASEPRI以及PRIMASK的信息,请参考 “ARMv7-M架构参考指南”。 处理器导出以下信号以指示处理器
[单片机]
<font color='red'>STM32</font>的电源管理与低功耗控制设计
意法STM32系列获ARM RealView微控制器开发工具包支持
ARM公司日前宣布RealView微控制器开发工具包将支持意法半导体基于ARM Cortex-M3处理器的全新STM32F1xx系列器件。 STM32F101(接入行)和STM32F103(性能行)将是意法半导体首个基于ARM Cortex-M3处理器的器件系列,兼具卓越的高性能和低功耗。该系列器件拥有高达72MHz的CPU时钟速度、128Kbyte片上闪存ROM及20Kbyte片上RAM,还包括A/D、CAN、USB、SPI、I2C等众多外设及多达80个GPIO。 RealView微控制器开发工具包3.1可为新器件提供支持。这一最新版本保留了Keil Vision 3集成开发环境(IDE)易于使用的特性,并增加了针对STM3
[焦点新闻]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved