STM32端口复用和重映射

牢记STM32的单片机每个功能模块有自己的时钟系统,所以调用32的任何模块都要配置时钟,端口复用和重映射也是如此。
1、端口复用
STM32用很多内置外设而且都是和GPIO复用的,也就是GPIO可以设置成一些常用的外设如串口的外设等等,数据手册有详细说明,需要时就查表
在这里插入图片描述
GPIO作为内置外设使用时就叫复用,也就是图中的默认复用功能,不把GPIO口当作单纯的I/O口而是赋予它一个外设的含义。
程序实现
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE); //时钟使能包括GPIO端口GPIOA和复用外设时钟(也就是串口)USART1
时钟使能完成了就要配置端口了
在这里插入图片描述
由下表我们配置全双工模式PA9串口发送复用推挽,PA10串口接收配置成浮空输入
在这里插入图片描述

2、端口重映射
通过设置重映射寄存器的方式,把这个外设的接口映射到其它的端口,方便PCB布线,虚拟增加外设。
在这里插入图片描述
复用功能串口1是PA9 PA10,但是如果我们觉得PB6 PB7更方便是就可以重映射使用这两个I/O口,重映射还分完全重映射和部分重映射,完全重映射就是功能外设的所有引脚都全部映射,如果映射串口一那么串口一的所有相关外设都映射到其他I/O口就是完全重映射,否则只映射部分需要的就是部分重映射。
重映射程序配置还是和上面一样先使能GPIO时钟和外设时钟,然后重映射比较不同的地方在于重映射你需要再使能AFIO时钟,最后开启重映射。
AFIO_MAPR配置复用功能重映射
AFIO_EXTICRX配置外部中断线映射
AFIO_EVCR配置EVENTOUT事件输出

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值