历史上的今天
返回首页

历史上的今天

今天是:2024年09月24日(星期二)

正在发生

2020年09月24日 | 通用输入输出口(GPIO)

2020-09-24 来源:eefocus

1概述

 端口

I/O端口主要功能是用于内部单片机和外设进行通信的媒介。一个端口最多有8个引脚。


引脚

 每个引脚都是独立的,也就是说当我们对其中一个引脚进行操作的时候不会影响到其他引脚。我们可以对引脚单独设置为数字输入或者数字输出。其中有些引脚还可以用着模拟输入和和外设中断。同一时刻只有一个功能映射到同一个引脚。


GPIO主要功能(我只列举我比较陌生的)

输入兼容5v电压

I/O口工作电压范围为1.6V到Vddiomax

I/O口的配置和使用

IO口常用的寄存器有5个ODR  IDR  DDR  CR1  CR2

数据输出寄存器ODR    输入寄存器IDR     和方向寄存器DDR     控制寄存器1CR1    控制寄存器2CR2


需要注意的是这里的引脚位和寄存器的位是一一对应的,即寄存器中的位n对应于口的引脚n。

 

通过这个表我们可以看出配置好一个I/O口只需要DDR方向寄存器,CR1控制寄存器,和CR2控制寄存器


下面我们先来看看输入模式

将方向寄存器DDRx位清零就选择了输入模式,在该模式下读IDR寄存器的位将返回对应I/O口引脚上的电频值。


理论上可以通过软件配置得到4中不同的输入模式:悬浮不带中断输入,悬浮带中断输入,上拉不带中断输入,上拉带中断输入。但是在实际情况下不是所有的I/O口都具有外部中断和上啦,我们应该参考数据手册中关于每个引脚的实际硬件性能描述。


悬浮输入或者上拉输入

端口的输入功能是不会自动选择,用户可以通过写相应的外设寄存器的控制位来选择输入功能,通过上表可以看出我们可以通过设置DDR和CR1寄存器的相应位来配置输悬浮输入或者上拉输入。


中断功能

我们可以在I/O口引脚为输入模式时通过设置PX_CR2寄存器的相应位来配置某个I/O作为外部输入中断模式。在这种配置下,I/O引脚上的一个信号沿或者是低电频会产生一个中断请求。


在EXTI_CR[2:1]J寄存器中对于每一个中断向量都可以单独编程为上升沿或者下降沿触发。

外部中断只对I/O口设置为输入模式才有效


中断屏蔽

可以通过对PX_CR2寄存器的相应位进行编程来单独使能/关闭外部中断功能,复位后外部中断是关闭的。

 

模拟通道

ADC外设可以选择某些I/O口作为模拟输入通道。当使用模拟通道的时候,ADC_TDR寄存器的输入施密特触发器必须被关闭。

 

施密特触发器

部分I/O口包括一个内嵌的输入施密特触发器。可以通过ADC_TDR施密特触发器禁止寄存器来使能/禁止施密特触发器

 

输出模式

 将DDRX位置1就选择了输出模式。在该模式下向ODR寄存器的位写入数据将会通过锁存器输出对应数字值到I/O口。读IDR的位将会返回相应的I/O引脚电频值。通过软件配置CR1,CR2寄存器可以得到不同的输出模式:上拉输出,开漏输出。

  输出功能为单片机输出到外部或者I/O引脚提供一个方便的操作方法,输出功能使能时,输出功能模块接管了输出锁存寄存器(PX_ODR)并强制PX_ODR相应的位为1

输出功能可以是上拉或者开漏输出,取决于外设本身和控制寄存器1(PX_CR1),输出频率取决于控制寄存器2(PX_CR2)的值。

例如:

考虑达到最佳性能,SPI输出引脚必须设置为上拉,快速摆率.  uart_TX可以被配置为上拉或者开漏外部带上啦来实现从机的配置。

摆率控制

 摆率输出可以使用CR2的相应位通过软件控制。置位CR相应位选择为10MHZ的输出频率。该功能可以在开漏也可以用在带上啦的输出模式I/O口,输出类型为O3和O4

 

复位后的默认配置

 复位之后,所有的引脚都是悬浮输入模式。

没有使用的引脚

  没有使用的引脚必须连接到一个固定的电频。

低功耗模式

低功耗模式对GPIO口的影响

等待(Wait)   对I/O口无影响。外部中断可以腮红MCU退出等待(Wait)模式

停机(Halt)   对I/O口无影响。 外部中断可以说使MCU从停机模式(Halt)唤醒

GPIO寄存器

 

GPIO 寄存器表和复位值

以上寄存器值的描述是我复制stm8s手册描述。


推荐阅读

史海拾趣

DLP Design公司的发展小趣事

DLP联合科技公司,通过与国内外知名企业的技术合作,实现了技术的快速迭代和产品的升级换代。公司积极寻求与产业链上下游企业的合作机会,共同研发新技术、新产品。通过与合作伙伴的紧密合作,DLP联合科技在DLP技术领域取得了显著成果,为电子行业的发展做出了积极贡献。

Advanced Photonix公司的发展小趣事

在电子行业的早期,Advanced Photonix以其卓越的光学技术脱颖而出。公司创始团队由一群富有远见的科学家和工程师组成,他们专注于研发高速光电子和高性能的光纤测试产品。经过无数次的实验和试错,团队终于成功开发出一种具有创新性的光纤传感技术,这一技术为电信行业提供了前所未有的分布式光纤传感解决方案。这一技术突破不仅为Advanced Photonix赢得了市场声誉,也奠定了公司在电子行业的重要地位。

GuangDong Province MengCo Semiconductor Co., Ltd公司的发展小趣事
选择合适的制动电阻型号和容量,确保在制动过程中能够有效散热,避免过热。
DEVCON公司的发展小趣事

在1950年代,电子工业正处于蓬勃发展的初期。阿尔·克瑞顿,一位富有创新精神的化学家,在美国马萨诸塞州丹佛斯市的一个实验室里,经过无数次的试验,终于研发出了一种名为Devcon可塑钢修补剂的新型材料。这种材料经济实惠、不易燃,且能够作为焊接的替代品,迅速在电子制造和维修领域引起了广泛关注。这就是DEVCON公司的起点,一个由创新精神和市场需求共同点燃的火花。

Aearo Technologies公司的发展小趣事

Aearo Technologies公司创立于四十多年前,从一开始就致力于能量控制技术的研发。公司凭借创始团队在声学、材料科学和工程领域的深厚背景,成功开发出了一系列高性能的噪声和振动控制材料。这些创新材料为公司在电子行业中树立了良好的声誉,也为其后续发展奠定了坚实的基础。

光大芯业公司的发展小趣事

在公司的成长过程中,光大芯业始终坚持以技术为核心,不断寻求技术上的突破。他们积极与国内外知名科研院所开展技术合作,引进先进的技术和设备,提升自身的研发能力。其中,与浙江大学微电子研究所的合作,成功开发出了开关电源管理芯片SDC7500,这一成果不仅填补了国内市场的空白,也展示了光大芯业在技术创新方面的实力。

问答坊 | AI 解惑

论坛里是否有对24G平面微带技术雷达信号处理的高手啊?

我司有做24G平面微带技术雷达,但目前的难点集中在DSP信号处理上,不知道论坛中是否有这方面的高手一同探讨一下;如用在交通测速测距、安防监控、液位物位测量等方面的信号处理,用什么样的DSP处理比较能突显产品的特点呢? 欢迎大家来给我意见。…

查看全部问答>

51的RI,TI,可以软件置位么

如题,串口的中断标志位RI,TI可以由软件置位么?如果可以置位,数据还没传送完毕的被置位将如何工作?谢谢各位高手赐教…

查看全部问答>

EPM240装5个串口可装的下?

我知道发错了地方,但是很急,这人气旺,,谅解一下啦。。 DEV_OE、DEV_CLRn不接也可以的吧?…

查看全部问答>

流驱动的 source文件编写

{549CAC8D_8AF0_4789_9ACF_2BB92599470D}…

查看全部问答>

求WinCE下的control.exe

我刚买了一个GPS,用的是windows embedded ce 6.0系统,却发现控制面板程序被厂商删掉了,打不开控制面板。哪位能提供一下windows\\control.exe程序?请发到 lvaj2008@gmail.com,谢谢!…

查看全部问答>

哪位好心人解释下vivi 中的 nand_read_ll的NFADDR设置这段啊

void nand_read_ll(unsigned char *buf, unsigned long start_addr, int size) {     int i, j;     if ((start_addr & NAND_BLOCK_MASK) || (size & NAND_BLOCK_MASK)) {         return ; ...…

查看全部问答>

关于v5 时钟使用的问题

使用V5时将一个普通的IO当作全局时钟使用了,结果在MAP时,发生错误:ERROR:Place:645 - A clock IOB clock component is not placed at an optimal clock,改了系统的环境变量,加BUFG都无法解决,请问该如何解决?主程序如下: module ad_uart ...…

查看全部问答>

再次请教版主STM32的CAN问题

上周就已经把CAN通讯调通了,不管是查询模式还是中断模式都跑的很好,这周给板子加了个UCOS,2.86版本的。然后把CAN通讯加上去,CAN数据死活发不出来。用lookback模式自测,发现可以收到自己发出去的数据,但是用示波器测试发送脚,就是没见到 ...…

查看全部问答>

【TI建议】【汇总】GPIO模块汇总帖

按照我的建议,将帖子归类一下: GPIO 模块 1:谁来帮解释下 GPIO 的地址掩码的意思 https://bbs.eeworld.com.cn/viewthread.php?tid=305581&extra=page%3D1%26amp%3Bfilter%3D0%26amp%3Borderby%3Ddateline%26amp%3Bascdesc%3DDESC 2:一键多 ...…

查看全部问答>