复用

一个 GPIO如果可以复用为内置外设的功能引脚,那么当这个 GPIO 作为内置外设使用的时候,就叫做复用。

复用的步骤:

  1. 使能相应GPIO 端口时钟。
  2. 复用的外设时钟使能。
  3. 配置端口模式、初始化GPIO

例:PA9,PA10复用为串口1

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);IO时钟使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);外设时钟使能//初始化IO为对应模式
GPIO_InitStructure.GPIO_Mode= GPIO_Mode_AF_PP; //模式选择为复用推挽输出
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed=  GPIO_Speed_50MHz;//速率选择为50M
GPIO_Init(GPIOA,&GPIO_InitStructure);//初始化GPIOAGPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IN_FLOATING; //模式选择为浮空输入
GPIO_Init(GPIOA,&GPIO_InitStructure);

重映射

为了使不同器件封装的外设 IO 功能数量达到最优,可以把一些复用功能重新映射到其他一些引脚上(设置重映射寄存器)。

重映射的步骤:

  1. 使能被重映射的IO端口时钟。
  2. 使能被重映射的外设时钟。
  3. 使能AFIO时钟(重要!不要随便使能!)
  4. 重映射

例:将原PA9,PA10的复用串口1重映射到PB6,PB7

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能 GPIOB 时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); //使能串口 1 时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //使能 AFIO 时钟GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);//开启重映射,根据第一个参数确定部分重映射还是全部重映射

参考自:STM32学习笔记(5)端口复用及重映射简介(改)

小知识(1):关于端口的复用及重映射相关推荐

  1. STM32 端口复用与重映射及低功耗引脚配置

    STM32 端口复用与重映射及低功耗引脚配置 什么是复用? 在TSM32里面,大部分的引脚都是有GPIO复用功能,也就是说,一个 GPIO如果可以复用为内置外设的功能引脚,那么当这个 GPIO 作为内 ...

  2. STM32之端口复用与重映射

    STM32 --端口复用和重映射 首先来说下什么是端口复用. STM32有很多的内置外设,这些外设的外部引脚都是与GPIO复用的.也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GP ...

  3. stm32端口复用和重映射

    相关描述在参考手册 通用和复用功能I/O  General-purpose and alternate-function I/Os(GPIOs and AFIOs)里有详细介绍 端口复用或许没听过详细 ...

  4. STM32学习笔记(三)端口复用与重映射(stm32c8t6)

    记录一下学习过程 1.端口复用 STM32有很多内置外设,这些外设的外部引脚是与GPIO复用的.默认情况下,这些GPIO口只能作为普通的IO口输入输出,把一个GPIO口的引脚复用为内置外设的功能引脚, ...

  5. 12_JLink在线调试_软件调试方法和端口复用和重映射

    JTAG/SWD调试原理简析 STM32F10xxx使用Cortex-M3内核,该内核内含硬件调试模块,支持复杂的调试操作.硬件调试模块允许内核在取指(指令断点)或访问数据(数据断点)时停止.内核停止 ...

  6. STM32——端口复用与重映射

    目录 端口复用的概念 内置外设的概念 端口复用的概念 端口复用的配置 配置示例(串口1) 复用GPIO的配置 STM32中文参考手册 110页 端口重映射概念 端口重映射概念 部分重映射 完全重映射 ...

  7. stm32f4有重映射么_STM32管教复用与重映射关系

    摘自:http://blog.csdn.net/lincheng15/article/details/51789093 概括一下:复用就是一个引脚有几个功能,1.做普通IO输入输出 2.其他外设的输入 ...

  8. stm32---端口复用和重映射

    什么是端口复用? STM32有很多的内置外设,这些外设的外部引脚都是与GPIO复用的.也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用. 简 ...

  9. 【STM32】谈谈STM32F10XX的定时器通道复用功能重映射

    写这篇的动机是我每次配置定时器硬件PWM的时候都要翻一遍手册,对着目录找内容实在麻烦,干脆写一篇博文直接pick出这一段. 本文参考:正点原子提供的STM32中文参考手册 关键词:STM32 定时器 ...

最新文章

  1. 提高SQLite每秒INSERT的性能?
  2. linux命令行颜色
  3. 微信朋友圈也可以发语音你们造吗?
  4. POJ :3614-Sunscreen
  5. java web快速入门_Web安全快速入门
  6. python列表框_Python列表框
  7. 持续集成工具集之五 使用Email Extension Plugin插件
  8. 服务器400_瓜分400万filecoin的入门条件:现货服务器
  9. 漫画:如何求图的最短路径? | 技术头条
  10. WSL2:docker中ubuntu18.04编译webRTC
  11. Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister
  12. C语言变量声明内存分配
  13. php远程获取文件大小,PHP 获取远程文件大小的3种解决方法
  14. visio2019即点即用版本兼容下载与安装
  15. 还在迷茫?还在纠结考研还是就业?我来替你分析一下
  16. 爬虫技术 -- 基础学习(一)HTML规范化(附特殊字符编码表)
  17. 正版 Windows 10安装教程
  18. 信息传播渠道多元化日渐明显
  19. 个人商业模式,如何让自己变得值钱
  20. Docker容器修改配置文件

热门文章

  1. 【硬盘】2021-西部数据叠瓦盘(SMR)、垂直盘(CMR/PMR)型号、容量大全
  2. c语言国际编码标准统一编码,88、国际C语言混乱代码大赛-2020.03.11
  3. 【LeetCode刷题】二月汇总篇
  4. C#语言实例源码系列-实现屏幕放大器和取色
  5. 图像处理之Matlab图像读取
  6. jsch session(ssh)
  7. 《奇葩说》撞题郭敬明,面对“死亡”,AI竟然赚足眼泪和流量?
  8. 华南理工大学(计算机技术)往年(?- 2019)专业面试题总结
  9. IDEA中配置数据库连接
  10. java string数组循环_java数组中String [ ] a={aa,bb,cc};利用for循环进行遍历