STM32的GPIO的复用功能和重映射功能

发布者:会哭的蓝精灵最新更新时间:2018-06-15 来源: eefocus关键字:STM32  GPIO  复用功能  重映射功能 手机看文章 扫描二维码
随时随地手机看文章

1、复用功能:内置外设是与I/O口共用引出管脚(不同的功能对应同一管脚)

STM32 所有内置外设的外部引脚都是与标准GPIO引脚复用的,如果有多个复用功能模块对应同一个引脚,只能使能其中之一,其它模块保持非使能状态。

2、重映射功能:复用功能的引出脚可以通过重映射,从不同的I/O管脚引出,即复用功能的引出脚位是可通过程序改变到其他的引脚上!

直接好处:PCB电路板的设计人员可以在需要的情况下,不必把某些信号在板上绕一大圈完成联接,方便了PCB的设计同时潜在地减少了信号的交叉干扰。

如:USART1: 0: 没有重映像(TX/PA9,RX/PA10); 1: 重映像(TX/PB6,RX/PB7)。

(参考AFIO_MAPR寄存器介绍)[0,1为一寄存器的bit值]

【注】 下述复用功能的引出脚具有重映射功能:

  - 晶体振荡器的引脚在不接晶体时,可以作为普通I/O口

  - CAN模块; - JTAG调试接口;- 大部分定时器的引出接口; - 大部分USART引出接口

  - I2C1的引出接口;  - SPI1的引出接口;

举例:

对于STM32F103VBT6,47引脚为PB10,它的复用功能是I2C2_SCL和 USART3_TX,表示在上电之后它的默认功能为PB10,而I2C2的SCL和USART3的TX为它的复用功能;另外在TIM2的引脚重映射后,TIM2_CH3也成为这个引脚的复用功能。

(1)要使用STM32F103VBT6的47、48脚的USART3功能,则需要配置47脚为 复用推挽输出 或 复用开漏输出 ,配置48脚为某种输入模式,同时使能USART3并保持I2C2的非使能状态。

(2)使用STM32F103VBT6的47脚作为TIM2_CH3,则需要对TIM2进行重映射,然后再按复用功能的方式配置对应引脚. 

要使用某个引脚的复用功能时,在开启了对应引脚的GPIO时钟和功能模块时钟的前提下,需要作如下配置:
1)在配置该引脚的GPIO时,选择推挽复用输出(AF_PP)或开漏复用输出(AF_OD)
2)使能对应功能的模块
3)不要使能不用的功能的模块

以下为参考手册中内容:

8.1.4  复用功能(AF)

使用默认复用功能前必须对端口位配置寄存器编程。

● 对于复用的输入功能,端口必须配置成输入模式(浮空、上拉或下拉)且输入引脚必须由外部驱动。

● 对于复用输出功能,端口必须配置成复用功能输出模式(推挽或开漏)。

● 对于双向复用功能,端口位必须配置复用功能输出模式(推挽或开漏)。这时,输入驱动器被配置成浮空输入模式。


如果把端口配置成复用输出功能,则引脚和输出寄存器断开,并和片上外设的输出信号连接。

如果软件把一个GPIO脚配置成复用输出功能,但是外设没有被激活,它的输出将不确定。


关键字:STM32  GPIO  复用功能  重映射功能 引用地址:STM32的GPIO的复用功能和重映射功能

上一篇:STM32F4——串口(USART)通信总结
下一篇:STM32F103:什么时候需要复用IO(AFIO)?

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

一个简单逆向stm32固件程序的实例分享
本文主要跟大家分享一个简单逆向stm32固件程序的实例,为了让大家在一款成熟的产品中去考虑加密这一块的技术,不然分分钟被别人copy! 1、情景再现 咬金,你们公司固件程序有加密处理吗 ? 额~,算了吧,我们公司的单片机程序炒鸡简单的,还加啥子密。 你这想法不对,假如产品卖得很好,如果没有任何加密措施,那岂不人家随便复制售卖。 没关系吧,反正他们没源码,应该也没那么容易复制吧 一点加密都没有,盗取还是比较简单的。 我才不信~~ 那行,把你的板子给我,不用你的源码,跟你把波特率改了! 直接读取固件 这里以stm32单片机进行演示,如果MCU没有做flash读取或者熔断保护,则可以通过jlink等烧写工具直接读取其Flash上的固
[单片机]
一个简单逆向<font color='red'>stm32</font>固件程序的实例分享
STM32系列之LCD驱动接口与驱动程序介绍
STM32F103系列是没有内置LCD控制器接口的,如果要驱动LCD,需要一颗LCD图形驱动IC。STM32和LCD驱动IC的接口在STM32端是FSMC,FSMC接口提供各种存储器驱动信号也提供了驱动LCD驱动IC的各种信号。 一、FSMC简介 FSMC概览 如下图可以看到FSMC支持的存储器类型及提供的各种读写控制信号。 图1 2.FSMC 框图 图2 3.FSMC 内存地址空间分配 图3 二、LCD 接口 1.8080和6800接口 这两种接口类型是典型的LCD并行接口。接口信号分为:数据信号和控制信号。 数据信号支持8,9,16,18,24位等。 控制信号用来区分读、写及区分是向LCD寻址命令寄存器还是写L
[单片机]
<font color='red'>STM32</font>系列之LCD驱动接口与驱动程序介绍
STM32的上拉和下拉电阻
STM32F10X I/O可以通过配置寄存器使能弱上拉或下拉电阻,根据datasheet,这个电阻为:min=20K, typ=30K, max=40K。 STM32F10X I/O的输入可以配置为floating/pull up/pull down三种方式。 对STM32F10X来说,系统reset后I/O的状态为Floating input。所以如果有电路的输入依赖于I/O的电平,必须设置合适的上拉或下拉电阻,否则会出现不定态或者毛刺。 STM32F10X JTAG 输入管脚上电复位后的上拉/下拉状态: ● NJTRST: Internal pull-up ● JTDI: Internal pull-up ● JTMS/SWD
[单片机]
stm32下载方式之串口ISP\swd(JLink)
1.首先看一下stm32启动模式 stm32的启动模式由32芯片的boot0与boot1引脚决定。分为内嵌flash启动模式(正常启动模式)、内存启动模式、rom启动模式 启动方式与引脚高低电平的对应关系如下,芯片复位的四个时钟周期内会去读取boot0和boot1引脚的电平情况确定芯片的运行 模式。 boot0=0,boot1=x ----------------内嵌flash启动模式 boot0=1,boot1=1 ----------------内存启动模式 boot0=1,boot1=0----------------rom启动模式(串口isp下载程序) 2.串口isp下载方式 isp串口下载HEX程序步骤 1)设置bo
[单片机]
<font color='red'>stm32</font>下载方式之串口ISP\swd(JLink)
STM32硬件IIC驱动设计
前言 stm32的硬件IIC一直是令人诟病的地方,以至于很多情况下我们不得不选择使用模拟IIC的方式来在stm32上进行iic通讯。我在stm32 iic通讯上也浪费了几多青春。。。经过不断地探索最终还是成功了(可喜可贺啊),现在把我的探索成功的经验分享出来,如果能减少读者在硬件iic上面浪费的时间,那真是太棒了! 关于IIC通讯 众所周知IIC是一种通讯方式。。。所以有必要先介绍一下IIC通信,省的下面不知道不知道我在写什么。当然这些都是基础,你可以选择跳过,直接看第三部分STM32的IIC IIC是什么 说实话这个问题有点难,我就百度了一下,描述如下 IIC 即Inter-Integrated Circ
[单片机]
<font color='red'>STM32</font>硬件IIC驱动设计
STM32 ADC注入通道的使用
通过ADC注入通道的使用,可以实时获取4个GPIO输入的AD采样值,下面看具体的代码。 芯片:STM32F205VCT6 STEP1:初始化GPIO void GPIO_Configuration ( void ) { //GPIO -PC0 PC1 PC2 PC3 -ADC3 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NO
[单片机]
STM32HAL库移植中景园库函数代码
为电赛做准备,随手练习移库,在监测电压的基础上,移植中景园的库到 hal库 里面 视频参考这个: 0xA1-OLED-STM32CubeMx配置 I2C并移植OLED驱动程序(基于ssd1306) 说的特别棒! 没基础看这个: 单片机stm32第14课(跨单片机移植tm1638程序) 下面是我移植前面的代码(固件库): main.c: // //本程序只供学习使用,未经作者许可,不得用于其它任何用途 //中景园电子 //店铺地址:http://shop73023976.taobao.com/?spm=2013.1.0.0.M4PqC2 // // 文 件 名 : main.c // 版 本 号 :
[单片机]
STM32HAL库移植中景园库函数代码
意法半导体和YOGITECH联合推出STM32微控制器安全设计组件
设计灵活性且价格实惠的STM32平台大幅节省了符合IEC 61508功能性安全标准的系统研发时间和成本 横跨多重电子应用领域、全球领先的半导体供应商意法半导体 (STMicroelectronics,简称ST;纽约证券交易所代码:STM) 和世界领先的功能性安全解决方案提供商YOGITECH合作,成功开发出一套具有绝佳灵活性的软件设计支持组件,助于于简化基于STM32微控制器的安全关键系统 (safety-critical system) 的开发和认证过程。 该合作项目始于2013年11月,目前已开发出一套STM32应用设计安全手册,以及符合IEC61508:2010功能性安全标准的软件测试库 (fRSTL)。YOG
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

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

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

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved