RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO,ENABLE);

当初是参考开发的例子写的,一直对

GPIOD

或上

“RCC_APB2Periph_AFIO”

这句话的意思没搞懂,通过这几天在网上查找资料和看手册,终于高清楚了,

不敢独享,希望能对跟我一样的新手有所帮助吧

o(∩_∩)o...

一、

STM32

上有很多

I/O

口,也有很多的内置外设,像

I2C,ADC,ISP,USART

,为了节省引出管脚,这些

内置外设基本上是与

I/O

口共用管脚的

,也就是

I/O

管脚的

复用功能

。但是

STM32

还有一特别之处就是:很多内置外设的

I/O

复用引脚可以通过

重映射功能

从不同的

I/O

管脚引出,

即使用了复用功能的引

脚是可通过程序改变的。

知道了这些我们就不难理解上面代码的意思了,程序中用到的

USART2

设的

TX

RX

分别对应

PA2

PA3

但是我的学习板上的

PA2,PA3

引脚接了其

他设备,但是为了还要用

USART2

“RCC_APB2Periph_GPIOD |RCC_APB2Periph_AFIO”

就打开了

GPIOD

重映射功能

USART2

设备的

TX

RX

映射到

PD5,PD6

上,我们在这两个引脚上接上

MAX232

串口芯片就可以使用

USART2

串口通信了。

那各位看官该问:

“USART2

是不是可以映射到任意管脚呢?

答案是否定的,它只能映射到固定的管脚,下图是

USART2

重映射表

其他外设的重映射可以参考

STM32100X

手册。

stm32f103的io口复用_stm32-复用功能和重映射相关推荐

  1. 【嵌入式底层知识修炼】按键和LED共用IO口的分时复用扫描方法

    文章目录 01 - PCB原理图例程 02 - 分时复用的注意项和设计 2.1 - 注意项 2.2 - 设计 03 - 代码实现 只要我跑的速度够快,寂寞就追不上我 只要Key和Led切换速度够快,人 ...

  2. ST芯片的引脚复用功能和重映射功能

    重映射:将原来属于A引脚的默认的复用功能,转移到具有这个重映射功能的B引脚. 当把GPIO用作EXTI外部中断或使用重映射功能的时候,必须开启AFIO时钟,使用默认复用功能的时候不用开启.

  3. 用单片机普通IO口(不用ADC功能)采集模拟量

    http://www.51hei.com/bbs/dpj-126017-1.html 以下介绍的这个方法是用没有 ADC 功能的芯片来检测模拟量,采集温度: 1. 温度检测电路图 :   2. 温度检 ...

  4. 关于STM32F103 TIM2重映射

    关于STM32F103 TIM2重映射 如何使用重映射和如何重映射为哪些管脚,这里不详细讲解,可以百度找到. 下面讲的是tim2重映射为PA15.PB3.PB10.PB11.这里的设置网上也有讲解,但 ...

  5. IO口复用时钟的配置

    定时器输出PWM波的时候,IO口一定要配置成复用推挽输出模式,但是不用开启复用时钟. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);GPIO ...

  6. 端口复用和重映射--STM32F103

    什么是端口复用? STM32中有很多内置外设,这些外设的引脚都是与GPIO复用的,什么时候复用呢?就是当一个GPIO作为内置外设引脚使用时,就叫做复用.比如串口1的发送接收引脚是PA9,PA10,当P ...

  7. STM32F1 端口复用、端口(部分和完全)重映射

    端口复用功能         STM32 有很多的内置外设(比如:串口.ADC.DAC等是独立的模块和内核连接在一起),这些外设的外部引脚都是与 GPIO 复用的.也就是说,一个 GPIO如果可以复用 ...

  8. stm32端口复用和重映射

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

  9. 疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇)----(九)IO口的介绍

    疯狂的大柚柚带你玩转MSP-ESP430G2(基础篇) (九) IO口的介绍 MSP430G2553 共提供了16个IO口,P1.0-P1.7:P2.0-P2.7,即可通用IO口也可以时复用功能. 各 ...

最新文章

  1. 静态属性和静态方法2 - C++快速入门22
  2. 三摄正普及,四摄在路上?谷歌逆天AI算法,只做单摄虚化
  3. TypeReference -- 让Jackson Json在List/Map中识别自己的Object
  4. 基于AES加解密的图像加解密算法
  5. Spring MVC快速教程:依赖注入 Spring MVC Fast Tutorial: Dependency Injection
  6. KubeSphere 3.1.0 GA:混合多云走向边缘,让应用无处不在
  7. ant design pro模板_分享10 个开源免费且优秀的后台管理系统模板
  8. 为什么现在电脑基本没有病毒了?
  9. TypeError: format expected at most 2 arguments, got 7
  10. JAVA初学者:适合小白的Java培训学习路线
  11. 华为首次自曝“天才少年”成果:入职不到一年就干成这件大事,网友:值200万年薪!| 留言送书...
  12. 干货丨如何准确找到剪辑点?后期剪辑进阶必看
  13. Robocup 2D新手导读(入门总结)
  14. steamship 使用gpt-4
  15. dockers 的简单使用
  16. 微信小程序电影详情功能实现
  17. 《自然语言处理学习之路》05 新闻分类任务实战
  18. VSCode 常用主题收集
  19. echarts+高德地图绘制散点+流线图
  20. 木星 2019/6/29/22:31

热门文章

  1. literal在程序語言中的意思(轉)
  2. 牛客15334 Easygoing Single Tune Circulation
  3. 一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法
  4. unity 嵌入龙骨动画
  5. k8s- HPA应用
  6. 1/2分频器的设计和仿真
  7. Docker Kafka 数据清理
  8. 补贴被叫停美团打车订单骤降 王兴的如意算盘要黄了
  9. 安卓手机与蓝牙模块联合调试(三)—— 单片机蓝牙控制LED灯亮灭(下)
  10. exercism——入门教程