历史上的今天
返回首页

历史上的今天

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

正在发生

2019年09月09日 | STM32F4 学习 day4 正点原子 第12讲 STM32 GPIO口工作原理

2019-09-09 来源:eefocus

以上为GPIO的讲解顺序

在 开发指南第六章有简要的介绍 GPIO口 官方的参考

STM32F4中文参考手册

STM32 F407 的芯片资料  

STM32f407 有7组 IO口

1.输入浮空

如果一个IO口 被配制成了浮空输入模式,那么它的 输出驱动器这部分的电路是不工作的。电平从IO口输入后先经过可以配置的上拉下拉 ,然后经过 TTL施密特触发器就会被打开,那么就可以通过输入数据寄存器读取IO口的电平。

2  输入上拉

如果被配置为输入上拉后,如上图所示的上拉电阻会被接到Vdd,输入的电平会被拉倒VDD, 之后经过TTL触发器后到输入数据寄存器,之后被CPU读取

3输入下拉 

 输入电平被拉低

4 模拟输入  输入的是模拟电压,这时不经过施密特触发器

接下来看一下输出模式:(这个图是F1的,F4与F1的区别在于F4的上下拉电阻是在外面)  

第一步:1.  通过CPU写相关的寄存器,比如 位设置和清除寄存器,(操作位设置、清除寄存器也是间接的操作输出数据寄存器)

              2  或者直接操作输出数据寄存器

假如通过输出数据寄存器输出一个  1 ,它通过输出控制电路, 那么 N-MOS就会处于关闭状态,那么它的输出电平就不会受

输出驱动器的影响,而是受外部的上下拉影响(也就是上图绿色箭头所指的开/关,这部分电路)。 IO口的输出电平可以由CPU通过输入数据寄存器读取。但是 注意:我们输出1读回来的不一定是 1,它的状态受上下拉电阻的影响。

    如果我们输出是 0,那么 N-MOS管就打开了那么 MOS就会将输出电平拉低,输出电平就会为0

开漏复用输出: 它与 开漏输出模式差不多。开漏输出是通过 CPU写寄存器,而复用开漏 是通过 外设模块来控制输出。其他与开漏输出一样。

接下来还有第3种输出模式,推挽输出 它与开漏输出很相似,不过注意上图的黄色部分 这里还包含了一个 P-MOS 管。

在开漏输出的时候,例如:我们通过输出数据寄存器给输出 控制电路写 1,那么 P-MOS管他就会被导通 N-MOS管就会被截止。那么就会输出 1, IO口 输出的也是 1,这样就达到了输出为1 的 效果。 这时,我们通过输入电路去读取 此时IO口的 输出电平,

如果说 推挽输出设置为0,这时 P-MOS管是截止, N-MOS管导通,那么电平就会被拉为 低。这时就会 直接输出一个 0.这个时候我们去读取 输入数据寄存器的话,读到的也是0.

推挽复用输出模式:与推挽输出模式是差不多的,他们唯一的 区别就是 复用功能输出来自 片上外设模块。

这里 开漏输出能够输出强低电平, 因为在开漏模式下 P-MOS 管截止  N-MOS管导通,所以当输出控制电路输出为 1时,要看 IO口的 上下拉设置,如果设置为上拉就是 1,如果设置为下拉就是0

上图是STM32F4相关的配置寄存器,

这是个只读寄存器,比如说我们要读 PA0,就看他的 IDR0 是1的话说明 是高电平, 0 

的话说明是低电平。


推荐阅读

史海拾趣

Autonics公司的发展小趣事

上世纪60、70年代,韩国经济蓬勃发展,工业自动化需求迅速增长,但传感器与控制仪表的国内市场仍是一片空白。Autonics的创始人看到了这个巨大的市场机会,于1977年创立了Autonics公司。公司初创时期,面临着资金短缺、技术落后等诸多挑战,但创始人凭借着对技术的执着追求和对市场的敏锐洞察,带领公司逐步走上正轨。

Chipcon AS公司的发展小趣事

在电子行业的初期,Chipcon AS公司凭借其一款创新的低功耗无线通信芯片,迅速在市场中崭露头角。这款芯片以其卓越的性能和稳定的表现,赢得了众多客户的青睐。公司通过不断优化产品设计和生产工艺,逐步提高了生产效率,降低了成本,进一步巩固了市场地位。随着无线通信技术的快速发展,Chipcon AS公司不断推陈出新,成功抢占了行业制高点。

Crameda Intersys公司的发展小趣事

Crameda Intersys公司非常重视人才的培养和引进。公司建立了完善的人才培养机制,通过内部培训和外部引进相结合的方式,不断提升员工的专业技能和创新能力。同时,公司还积极营造创新氛围,鼓励员工提出新的想法和解决方案。这些措施有效地激发了员工的创新热情,为公司的发展提供了源源不断的人才支持。

Datakey Electronics公司的发展小趣事

在环境问题日益严重的今天,绿色环保已经成为电子产品行业的重要发展趋势。Datakey Electronics积极响应国家号召,致力于绿色产品的研发和生产。公司投入巨资研发环保材料和生产工艺,成功推出了一系列符合环保标准的产品。这些产品不仅满足了客户的需求,还为公司赢得了良好的社会声誉。

e2v technologies公司的发展小趣事

e2v Technologies自成立以来,一直致力于技术创新和科学合作。公司曾与多个国际知名科研机构合作,参与了诸如哈勃天文望远镜、Envisat气象环境遥感卫星等著名科学项目。这些项目对图像传感器的精度和稳定性提出了极高的要求,e2v凭借其卓越的技术实力,成功为这些项目提供了高质量的图像传感器,进一步巩固了其在图像传感器领域的领先地位。

Comchip Technology公司的发展小趣事

随着电子行业的快速发展,Comchip Technology不断追求技术创新和产品升级。公司通过大量研发投入,成功开发出了桥式整流器、高效快速整流器等一系列具有市场竞争力的产品。这些产品不仅提高了电子设备的性能,还降低了能耗,赢得了客户的广泛认可。

问答坊 | AI 解惑

15075018luerdu(程序一)

这个程序的作用是 ;把V/F转换得到的脉冲送到单片机的T0口计数, ;计数的结果放到R2,R3中 ;求出计数值的万,千,百,十,个位,然后分别放在74H,73H,72H,71H,70H中 ;最后把结果通过4094串行移位寄存器显示出来 ORG 0000H LJM ...…

查看全部问答>

各位做嵌入式开发的兄弟,都在哪个城市?

不知做嵌入式开发,哪里的兄弟多些?所在地的情况如何?…

查看全部问答>

单片机8051缓存显示

功能:把键盘输入的数据存入显示缓存区 displaybuf ,然后显示缓存区的内容, 调试的结果不对,显示很乱~ 不知道什么原因? #include #define uchar unsigned char #define uint unsigned int sbit ledk=P2^5;  //锁存口 sbit d ...…

查看全部问答>

WinCE系统下如何识别以太网,U盘,USB电缆的状态

WinCE系统下如何识别  以太网网口的状态---即有没有与其他电脑相连接 WinCE系统下如何识别  U盘的状态----是否有U盘插到usb host口上 WinCE系统下如何识别  USB电缆的状态----是否有USB电缆连接到USB device上…

查看全部问答>

寻AT91RM9200的VxWorksBSP!

我在www.pudn.com下载的AT91RM9200(DKEK)VxWorksBSP.RAR,但下载下来才知道只是一份开发者指南,不是源码。我现在准备上AT91RM9200,也准备买一块评估板,但都没有VxWorks的BSP,大家能送我一份吗?我们可以交换源码的。 谢谢! …

查看全部问答>

变频器接地对干扰的影响

1     单点 接地,为许多在一起的电路提供公共电位参考点,由于只有一点接地,所以构成不了地回路的问题,因此就几乎不存在干扰的问   题,在通信速率低于1000KHZ时,选用一点接地效果比较好。 2    ...…

查看全部问答>

哪款传感器适合红外体温计

各位大虾们,我毕业设计的题目是要求做红外体温计,不知道用哪款传感器比较好点,希望大家能给点帮助,谢谢啦!…

查看全部问答>

IAR单步调试怎么老运行到注释上面,急

                                 用IAR5.40以前没问题,今天在写程序的时候突然停电,后来再用IAR调试,以前调试过的程序竟然出问题了,再单步运行 ...…

查看全部问答>

选型请教:

请问版主,我只要以下功能和特性,选哪个芯片好: 1.STM32, 2.带CAN2.0B 3.带USB全速从机接口. 4.带JTAG接口, 5.LQFP封装. 6.引脚越少越好 7.价格最便宜 8.很好买到 谢谢!…

查看全部问答>

如何实现CAN/zigbee转换

如题,要求有硬件设计和代码编写…

查看全部问答>