资料介绍
在PLC的编程调试中,首先是要对系统的输入/输出(IO)进行配置,也就是通常说的硬件组态。有了正确的IO分配,才能在编程的时候正确的读取信号的输入及控制信号的输出。因此,IO配置是PLC调试最基础也是最重要的工作。从这个方面来说,单片机的调试与PLC的调试有着异曲同工之妙。
对于单片机而言,GPIO引脚的配置是很基础也是很重要的。错误的引脚配置非但不能实现想要的功能,而且出错时往往不容易查找,耽误调试的时间。这就需要编程调试人员对GPIO引脚的配置有很好的理解。今天这篇文章,我们就来谈谈STM32Fxx系列单片机引脚的复用功能(Alternate Function)。
STM32Fxx系列单片机的GPIO引脚可以配置为浮空输入(Input Floating)、上拉输入(Input Pull-up)、下拉输入(Input Pull-down)、模拟量(Analog)、开漏输出(Output Open-drain)、推挽输出(Output Push-pull)、复用开漏(Alternate function open-drain)输出和复用推挽(Alternate function push-pull)输出等八种模式。
先来介绍下开漏输出和推挽输出的区别:
STM32Fxx系列单片机的输出电路有两个MOS管:P-MOS和N-MOS。
在开漏输出模式下,P-MOS管不工作,只有N-MOS管起作用。若输出数据寄存器的值为0,则N-MOS导通,IO口输出低电平;若输出数据寄存器的值为1,则N-MOS截止;由于P-MOS不工作,此时IO口既不是高电平,也不是低电平,这种状态被称为高阻态。
在推挽输出模式下,若输出数据寄存器的值为0,则N-MOS导通,P-MOS截止,IO口输出低电平;若输出数据寄存器的值为1,则N-MOS截止,P-MOS导通,IO口输出高电平;
我们知道STM32Fxx单片机还有复用开漏输出和复用推挽输出,它们和上面讲到的(普通)开漏输出和(普通)推挽输出有什么区别呢?
这就涉及到针脚的复用功能。
我们知道,STM32Fxx内部集成了很多的外设控制器,比如USART、SPI、bxCAN等等,这些外设控制器,也需要通过引脚与外设连接。复用功能是相对于单片机的引脚而言的。所谓“复用功能”,是指单片机的引脚既可以做普通GPIO使用,也可以作为内部外设控制器的引脚来使用。
比如我们来看看STM32F103xx单片机的PA5引脚,如下图:
首先,PA5可以做为普通GPIO来使用;其次,如果作为外设的引脚,它可以作为SPI1的时钟(SPI1_SCK)、DAC的输出通道1(DAC_OUT1)或者ADC的输入通道5(ADC12_IN5)。
PA5支持的三种外设(SPI1、DAC、ADC)在同一时刻只能选择一种,选择的方法是开启相应外设的时钟,并使其它外设的时钟保持关闭状态。如果PA5被配置为复用功能,但是没有开启它支持的任何外设的时钟,它的输出是不确定的。
复用推挽输出和(普通)推挽输出在输出的时候均使用两个MOS管(P-MOS和-MOS),其输出电路是相同的。区别在于控制输出的信号来源:(普通)推挽输出控制MOS管的信号来自输出数据寄存器,而复用推挽输出的控制信号来自单片机的内置外设控制器(比如SPI1)。
复用开漏输出和(普通)开漏输出的道理是一样的。
下面这张图,是普通GPIO输出的引脚配置图,可以看到其输出信号来自输出数据寄存器(Output data register):
下面这张图,是选择复用功能后的引脚配置图,可以看到其输出信号来自芯片内置的外设控制器:
注:虽然复用模式的控制信号来自内置外设控制器,但是单片机(CPU)依然可以读取相应的数据。在复用推挽输出模式下,单片机可以通过读取输出数据寄存器(Output Data Register)的数据来获取上次输出的值;在复用开漏输出的模式下,单片机可以通过读取输入数据寄存器(Input Data Register)的值来获取引脚的状态。
好了,关于STM32Fxx系列单片机引脚的复用功能就先聊到这里。
本文转载自:
声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有,如涉及侵权,请联系小编邮箱: 进行处理。
(mbbeetchina)
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- STM32F4系列单片机AD封装库下载 113次下载
- STM32F3系列单片机AD封装库下载 16次下载
- STM32F2系列单片机AD封装库下载 8次下载
- STM32F1系列单片机AD封装库下载 94次下载
- STM32单片机端口复用和端口重映射
- 51单片机每个引脚功能介绍,初学者常备资料下载
- STM32单片机JTAG的复用方法解析资料下载
- STM32单片机网络远程升级固件的源码下载 70次下载
- 深度解析STM32单片机JTAG的复用方法资料下载
- 单片机基础及应用|80C51单片机的结构及信号引脚资料下载
- 51单片机的引脚功能 AT89S52的引脚功能介绍资料下载
- STM32单片机与linux系统单片机串行通信资料下载
- 单片机I/O口具有哪些特性应用功能资料下载
- MS81Fxx02系列FLASH单片机的数据手册免费下载 5次下载
- STM32的功能引脚重映射和复用功能 12次下载
- 基于STM32单片机的智能衣柜设计 3392次阅读
- 关于STM32的 I/O 复用功能 3389次阅读
- 详解STM32单片机和51单片机的区别 3.7w次阅读
- STM32单片机寄存器的功能解析 5185次阅读
- STM32单片机ISP下载的方法解析 9390次阅读
- 51单片机和STM32单片机的结构有什么不同 7285次阅读
- 单片机外部结构的引脚功能的简介和使用资料概述 8779次阅读
- 单片机的引脚图及引脚功能_单片机简易编程 5w次阅读
- 浅谈STC单片机特殊IO的用法 9268次阅读
- 8051单片机各种引脚的用法及功能解析 4.2w次阅读
- 如何将STM32单片机的JTAG口作为GPIO使用 4632次阅读
- 基于STM32单片机的端口复用与端口重映射 4116次阅读
- 基于STM32单片机的功能及特点 4.9w次阅读
- 8051单片机引脚图及引脚功能介绍 6.8w次阅读
- 详细图文剖析STM32单片机串口一键下载电路与操作方法 4.6w次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多