STM32的几种输入模式以及外部中断的配置

发布者:颐真阁最新更新时间:2023-01-03 来源: zhihu关键字:STM32  输入模式  外部中断  配置 手机看文章 扫描二维码
随时随地手机看文章

  要求:将连接按键的IO口配置为上拉输入,按键一端接IO口,一端接地,即当按键按下后,该IO口会产生一个下降沿,触发下降沿中断。

  问题:将相应的IO口配置好后,测了引脚的的电压,并不是3.3V左右,而是0.1V左右。于是猜想:

  1. 外围电路对IO口产生了影响。

  2. STM32内部上拉能力较弱,一次只能上拉一个IO口。

  于是开始从这两个想法着手解决。首先第一个,很容易就排除了。将外围电路撤掉,我用的是杜邦线,直接拔掉测量引脚上的电压,依然是0.1V左右,于是第1个猜想排除。

  第二个,查看万能的参考手册,发现每一个IO口都是有独立的驱动电路,这样第2个也排除了。

  最后各种纠结,然后发现:在主函数的开头部分初始化的时候,我把初始化的那个函数给注释掉了。低级错误,见笑了。

  现在总结一下:

  STM32的输入有4种输入模式:

  模拟输入 GPIO_AIN

  用于AD转换

  浮空输入 GPIO_IN_FLOAtiNG

  引脚处于浮空模式,电平状态是不确定的。外部信号输入什么,IO口就是什么状态。

  上拉输入 GPIO_IPU

  防止IO口出现不确定的状态,比如,当IO口悬空时,就会通过内部的上拉电阻将该点钳位在高电平。

  下拉输入 GPIO_IPD

  功能与上拉电阻类似,防止IO口出现不确定的状态,比如,当IO口悬空时,就会通过内部的下拉电阻将该点钳位在低电平。

  STM32中空的I/O管脚是高电平还是低电平取决于具体情况。

  1、IO端口复位后处于浮空状态,也就是其电平状态由外围电路决定。

  2、STM32上电复位瞬间I/O口的电平状态默认是浮空输入,因此是高阻。做到低功耗。

  3、STM32的IO管脚配置口默认为浮空输入,把选择权留给用户,这是一个很大的优势:一方面浮空输入确保不会出现用户不希望的默认电平(此时电平取决于用户的外围电路);另一方面降低了功耗,因为不管是上拉还是下拉都会有电流消耗。从另一个角度来看,不管I/O管脚的默认配置如何,还是需要在输出的管脚外加上拉或下拉,这是为了保证芯片上电期间和复位时输出的管脚始终处于已知的电平。

  4、在没有任何操作的情况下,STM32通用推挽输出模式的引脚默认低电平,也就是有电的状态。所以在配置的时候通常会先把引脚的电平设置拉高,让电路不产生电流。有电到没电这一过程也就是引脚电平从低到高的过程。

  5、STM32的I/O管脚有两种:TTL和CMOS,所有管脚都兼容TTL和CMOS电平。也就是说从输入识别电压上看,所有管脚不管是TTL管脚还是CMOS管脚都可以识别TTL或CMOS电平。


关键字:STM32  输入模式  外部中断  配置 引用地址:STM32的几种输入模式以及外部中断的配置

上一篇:适合嵌入式stm32的五大操作系统解析
下一篇:一种基于STM32利用始终定时实现延迟的方法

推荐阅读最新更新时间:2024-11-18 00:47

stm32和电机开发(从单机版到网络化)
作为单机设备,不管是独自使用,还是和上位机一起配合使用。本质上来说,都是孤立的一套系统。在这个基础上,我们可以思考一下,能不能在单机系统之上构建网络化的系统。通过增加新的变量,站在更高维度来发现和解决问题。这里只是做一个探索和分析。 1、从单机系统搜集数据 传统的单机系统,数据都是孤立的,能不能从每一个单机系统搜集数据,通过集中处理的方法来提前预测故障、防止故障发生。 2、版本OTA升级 这方面目前用的最多的是汽车,对于汽车厂商来说,版本升级可以修复很多的bug,这肯定是好事情。但是需要考虑的是,消费者可以从中得到什么? 3、公有云服务系统 现在很多系统都可以通过网页直接完成。比如说,电路板pcb的绘制,这些以前只能
[单片机]
stm32 通用定时器 精确延时程序
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); TIM_TimeBaseStructure.TIM_Period = 1; //自动装载 TIM_TimeBaseStructure.TIM_Prescaler = 7200; //72M分频率到10KHz TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Down; //向下计数 TIM_TimeBaseInit(TIM2, &TI
[单片机]
跑马灯+蜂鸣器的位操作实现&什么是STM32中的位操作?
跑马灯+蜂鸣器的位操作实现 代码部分 Led.c部分 #include buzzer.h #include stm32f10x.h #include sys.h void BUZZER_Init(void) { // 使能时钟 RCC- APB2ENR |= RCC_APB2ENR_IOPBEN; // 配置相应引脚的状态 GPIOB- CRH &= ~(GPIO_CRH_MODE8|GPIO_CRH_CNF8); GPIOB- CRH |= GPIO_CRH_MODE8; // 配置相应引脚的初始电平(寄存器操作) //GPIOB- BSRR |=
[单片机]
跑马灯+蜂鸣器的位操作实现&什么是<font color='red'>STM32</font>中的位操作?
STM32定时器溢出的工作原理是什么?
从来没有一个外设能够这么骚~那说的就是定时器了,或者说没有了定时器的MCU就不完整。 只能说没有定时器的单片机不值得被爱 OKOK,不骚了,这篇文章就是回答几个在我研究过程中比较疑惑的问题。 所以是可以确定一点的就是,如果你想让你的定时器非常精确,那你一定要有一个很稳的时基,这里就是时钟树。 痛苦的回忆来了,具体要查你的定时器在哪里挂着 还想骂的一点是,不知道为什么定时器还排起了辈分按说是从简单到难,但是ARM构架似乎是一把梭哈。 事实上大多数文章都是拿这个图说事情的,我也不能免俗 这个可编程定时器的主要部分是一个带有自动重装载的16位累加计数器,计数器的时钟通过一个预分频器得到。 软件可以读写计数器、自动重装
[单片机]
<font color='red'>STM32</font>定时器溢出的工作原理是什么?
STM32家族新成员—STM32WB双核无线芯片
STM32家族新成员—STM32WB双核无线芯片 2018年10月12日,意法半导体在北京召开媒体发布会,隆重发布并介绍了STM32系列的第12个新成员—STM32WB。STM32WB的发布对STM32来说有着重大的意义,正如意法半导体中国区微控制器事业部市场及应用总监曹锦东所说“未来整个产业的发展是面向物联网产业的,物联网产业里不能缺少无线的产品线,STM32产品更不能缺乏跟无线产品相关的IP,STM32WB的发布将会帮助STM32进入无线领域,并加强STM32在物联网市场的影响力。” 意法半导体中国微控制器事业部市场及应用总监 曹锦东 正在本次发布会中,意法半导体STM32超低功耗和网络微控制器市场经
[单片机]
<font color='red'>STM32</font>家族新成员—STM32WB双核无线芯片
STM32菜鸟成长记录---1
学习新知识我的一个方法是: 1.先把握住新东西大的一个框架、涉及的内容、范围; 简而言之:理清架构,把握重点; 2.在看清楚大的框架所涉及的知识时,再度量哪些是我所需要必须学习的(重点),哪些是现在不急着掌握的可以以后学习; 简而言之:去我所需,为我所用; 3.理论归理论,掌握理论知识的基础上,加以应用,能更深刻的理解这些知识点; 简而言之:实践出真知; 声明:本文部分参考自--《STM32自学笔记集合》 第一讲: STM32是Cortex-M3系列之一,而Cortex-M3处理器采用的是ARMv7-M架构。 系统架构: 希望大家关注AHB总线,这是贯穿所有外设的一条总线,上图可知:AHB经过桥接,由A
[单片机]
<font color='red'>STM32</font>菜鸟成长记录---1
基于STM32的开源简易示波器项目
一、前言 该项目是基于正点原子精英板制作的一个简易示波器,可以读取信号的频率和幅值,并可以通过按键改变采样频率和控制屏幕的更新暂停。 二、硬件接线 将PA6与PA4相连,可观察到正弦波。 将PA6与PA5相连,可观察到三角波/噪声(默认三角波)。 KEY_UP控制波形的更新和暂停。 KEY_1降低采样率。 KEY_0提高采样率。 三、信号的采集 信号的采集主要是依靠ADC(通过定时器触发采样,与在定时器中断中开启一次采样的效果类似,以此来控制采样的间隔时间相同),然后通过DMA将所采集的数据从ADC的DR寄存器转移到一个变量中,此时完成一次采样。 由于设定采集一次完整的波形需要1024个点,即需要连续采集1024次才算一次
[单片机]
基于<font color='red'>STM32</font>的开源简易示波器项目
STM32微控制器中采用DMA实现方波的产生和捕获
  1 STM32微 控制器 介绍   STM32系列微控制器是ST公司基于Cortex-M3内核的高集成度的微控制器。它在性能、价格、功耗和实时性方面树立了一个新的标杆,集成了Cortex-M3内核,以及双ADC、多用途的通用 时钟 TIMx、RTC、I2C、SPI、UART、 CAN 、DMA、 USB 等丰富的 外设 。其功耗在全速72MHz所有模块都打开时也仅仅为36 mA,在低功耗模式下其功耗仅为2μA。   2 DMA和TIMx简介   STM32系列微控制器均含有DMA和通用时钟TIMx模块。其低端型号中仅包含DMA1,支持7个通道;高端型号还包括DMA2,支持5个通道。它的每个通道可任意指定工作模式,如
[电源管理]
<font color='red'>STM32</font>微控制器中采用DMA实现方波的产生和捕获
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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