STM32 IO口输入输出模式的简洁见解

发布者:温柔浪漫最新更新时间:2018-08-15 来源: eefocus关键字:STM32  IO口  输入输出模式 手机看文章 扫描二维码
随时随地手机看文章

输入模式


(1)浮空输入:没有外界电压输入时,电压不确定。


(2)上拉输入:没有外界电压输入时,IO口经过一个上拉电阻接高电压Vcc,再经过施密特触发器转换成1信号,此时为高电平。(无输入,高电平)


有外界电压输入时,电压进入芯片后加了一个上拉电阻,再经过施密特触发器转换成0、1信号,读取此时的引脚电平是高电平还是低电平。


(3)下拉输入:没有外界电压输入时,IO口经过一个上拉电阻接低电压Vss,再经过施密特触发器转换成0信号,此时为低电平。(无输入,低电平)


有外界电压输入时,电压进入芯片后加了一个下拉电阻,再经过施密特触发器转换成0、1信号,读取此时的引脚电平是高电平还是低电平。    


(4)模拟输入: 信号进入后不经过上拉电阻或者下拉电阻,关闭施密特触发器,经由另一线路把电压信号传送到片上外设模块。比如传送给ADC模块,由ADC采集电压信号。所以可以理解为模拟输入的信号是未经处理的信号,是原汁原味的信号。                  


输出模式


(1)开漏输出:当芯片写入1,此时IO口的输出电压不由芯片控制,可以用外部电路加上一个上拉电阻或者下拉电阻接相应的电压来控制输出。


当芯片写入0的时候,此时IO口输出低电压。


(2)推挽输出:芯片写入1,IO口的输出电压就是高电压。


芯片写入2,IO口的输出电压就是低电压。(由芯片控制)


(3)复用就不赘述了。


关键字:STM32  IO口  输入输出模式 引用地址:STM32 IO口输入输出模式的简洁见解

上一篇:STM32引脚JTDO、JNTRST与JTDI作为普通IO口使用配置
下一篇:stm32IO口方向设置

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

移植STM32固件库到IAR
作为嵌入式软件工程师应该有良好的习惯,建project应该层次清晰。 1. 建立一个文件夹用于存放工程,命名为GPIO 2. 打开GPIO文件夹,创建一个子文件夹project(用于存放与工程相关的文件),再创建一个readme.txt(用于对工程的说明,比如说硬件环境和功能) 3. 将ST公司提供的固件库:FWLb中library拷贝到GPIO目录中 4. 打开project,再创建一个文件夹EWARM(存放和开发环境密切相关的内容) 5. 打开STM32固件库:STM32F10xFWLib\FWLib\examples\GPIO\Example1(自己到ST官网上下载) 6. 复制
[单片机]
移植<font color='red'>STM32</font>固件库到IAR
STM32应用-5-LORA模块测试
在一个物品定位项目中,需要用Lora实现物品定位功能。此项目没有选择NBIOT因为客户对于NB需要SIM卡,以及NB的成本并不满意,因此选择更低成本,且无需SIM卡的LORA方式。 硬件连接 其中,Lora模块的管脚连接方式如下: 序号 引脚 引脚方向 备注 1 M0 输入(不可悬空) 和M1配合,决定模块的工作模式(极弱上拉,如不使用可接地) 2 M1 输入(不可悬空) 和M0配合,决定模块的工作模式(极弱上拉,如不使用可接地) 3 RXD 输入 TTL串口输入,连接到外部TXD引脚(可配置为漏极开路或上拉输入,详见手册) 4 TXD 输出 TTL串
[单片机]
<font color='red'>STM32</font>应用-5-LORA模块测试
STM32:外部晶振时钟配置
void SystemClock_Config(void) { RCC_DeInit(); RCC_HSEConfig(RCC_HSE_ON); //INPUT HSE = 24M ErrorStatus HSEStartUpStatus = RCC_WaitForHSEStartUp(); if(HSEStartUpStatus == SUCCESS) { FLASH_PrefetchBufferCmd(ENABLE); //M0 defined FLASH_SetLatency(FLASH_Latency_1); //M0 defined RCC_PREDIV1Config(RCC_PREDIV1_
[单片机]
STM32系列单片机命名规则
示例: STM32 F 100 C 6 T 6 B XXX 1 2 3 4 5 6 7 8 9 从上面的料号可以看出以下信息: ST品牌ARM Cortex-Mx系列内核32位超值型MCU,LQFP -48封装 闪存容量32KB 温度范围-40℃-85℃; 1.产品系列: STM32代表ST品牌Cortex-Mx系列内核(ARM)的32位MCU; 2.产品类型: F:通用快闪(Flash Memory); L:低电压(1.65~3.6V);F类型中F0xx和 F1xx系列为2.0~3.6V; F2xx和F4xx系列为1.8~3.6V;W:无线系统芯片,开发版. 3.产品子系列
[单片机]
<font color='red'>STM32</font>系列单片机命名规则
STM32处理器 RTC分析
前言: 1.博客基于ARM Cortex-M3内核的STM32F103ZET6和标准3.5.0库; 2.如有不足之处,还请多多指教 一 RTC是什么? 1. 从结构上讲就是一个独立的定时器; 2. 从功能上来说就是为系统提供系统掉电不复位的日历时间; RTC分为两个完全能独立的部分:1. APB1接口;2. RTC核心; 功能: (1)APB1总线连接APB1接口并负责驱动APB1接口,接口内部包含一组16位寄存器,可以通过APB1总线对其进行读写操作。 (2)RTC核心由RTC20位预分频模块和32位可编程计数器模块组成; Ⅰ RTC预分频模块包含一个20位的可编程分频器RTC_DIV。预分频模块为32位计数器模块提供时
[单片机]
<font color='red'>STM32</font>处理器 RTC分析
STM32 FSMC驱动TFTLCD 难点解析
本篇文章三个主题:FSMC有关配置、一串字符显示原理、汉字显示原理。。下面进入正题 一、FSMC的有关配置(博主用的是FSMC_A10): 来自别人家的博客http://blog.csdn.net/jxnu_xiaobing/article/details/8718566 FSMC的介绍就不介绍了,网上一大片。我们就讨论讨论为什么用FSMC的地址线与TFTLCD的RS引脚相连?以及我们如何往LCD写数据/命令? FSMC称为可变静态存储控制器。可变:之所以称为“可变”,是由于通过对特殊功能寄存器的设置,FSMC 能够根据不同的外部存储器类型,发出相应的数据/地址/控制信号类型以匹配信号的速度。(这点很重要,后文会
[单片机]
STM32中比较常见的两个问题
问题一 原因:Undefined symbol SystemInit ,翻译过来就是:SystemInit 这个符号没有定义,随后的小括号告诉你了,是在startup_stm32f10x_md.o这个文件里面被提及的,这个.o文件在工程里面并没有,它是一个在编译的时候根据.c/.s文件生成的。所以我们只需要找到工程里面的.s或者.c即可,这里对应这个名字的就是startup_stm32f10x_md.s了。 解决办法:将startup_stm32f10x_md.s中以下三段注释掉就OK了 IMPORT SystemInit LDR
[单片机]
KEIL(MDK)同时兼容STM32和51系列单片机的方法
keil4 方法一: 首先安装KEIL4,然后安装KEIL3到MDK相同目录,安装过的就跳过。然后以管理员身份打开KEIL4,用KEIL4的注册机,注册ARM和C51。 破解结果 方法二: 下面这个方法可以让keilMDK兼容51的工程,只要一个keil就都能编译51和stm32的工程了: 1、安装keilC51,并破解,安装目录 T:keilC51 2、安装keilMDK,并破解,安装目录 T:keilMDK 3、把T:keilC51 里面的 C51 文件夹复制到 T:keilMDK 里 4、把 T:keilC51 里面的 UV4 文件夹复制到 T:keilMDK 里,提示有同名文件都不要
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

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

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

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