我们先来看什么是复用功能?

我们在《stm32f103rc_datasheet.pdf》中可以看到对I/O口的功能描述表格

比如:PC10 I/O口,UART4_TX与SDIO_D2功能都是PC10 I/O口的复用功能。也就是说,PC10 I/O口不仅仅只能进行由内核控制的输入/输出功能,还可以进行由片上外设控制的UART4_TX与SDIO_D2功能。注意:UART4_TX与SDIO_D2功能是来自不同模块的功能。

当我们使用复用功能UART4_TX时,那么PC10 I/O口就由UART外设模块控制,此时PC10 I/O口输入/输出的数据就都来自于UART外设模块了,而不是来自于内核或者其他外设模块。

注意:下图中BGA144、BGA100、LQFP144,表示该表引脚功能还可以适用于BGA144、BGA100、LQFP144封装的芯片。

什么是端口重映射?

1、复用功能:片内外设(如:I^2C UART ADC等)是与I/O口共用引出管脚(不同的功能对应同一管脚)stm32所有内置外设的外部引脚都是与标准GPIO引脚复用的,如果有多个复用功能模块对应同一个引脚,只能使能其中之一,其它模块保持非使能状态。

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

实际上就是:

如红框中的PD12引脚,它规定这个引脚所占用的复用功能为TIM4_CH1和UART3。

假设现在,PD12 I/O口被设备1所占用。那么如果此时我想使用UART3功能,我只能使用PD12端口的复用功能,但是PD12端口已经被设备1占用了,那么就无法使用UART3功能了。

所以,为了使资源被更加全面的使用,芯片厂家就开发出UART3还可以被其他端口使用的方法,如下图:

当PD12端口被占用的时候,我们还可以通过PB10端口来使用UART3功能。这就是重映射。(注意:一个功能不能被两个端口同时使用)

当我们将UART3功能重映射到PB10端口上面时,就会阻断UART3功能与PD12的连接,此时PD12就不能再使用UART3功能了:

我们还可以看到,TIM3_CH1、TIM3_CH2、TIM3_CH2分别是PA6、PA7、PB0端口的复用功能。

现在我们看到,TIM3_CH1、TIM3_CH2、TIM3_CH2功能还可以经过重映射,映射到PC6、PC7、PC8端口上,由PC6、PC7、PC8端口来使用这些功能。注意:在进行重映射后,原先的PA6、PA7、PB0端口就不能使用TIM3_CH1、TIM3_CH2、TIM3_CH2功能了。

由参考手册——通用和复用功能I/O章节知道,没有重映射的时候,UART3_CK为PB12引脚的复用功能。我们如果使用部分重映射,将UART3_CK重映射到PC12引脚,这样就可以通过PC12来使用UART3_CK功能了。我们还可以使用完全重映射,通过PD10引脚来使用UART3_CK功能。

部分重映射:由图知,如果我们选择部分重映射,那么对于UART3功能的PB端口,有一部分UART3功能可以映射到PC端口上面,另外一部分还是在PB端口上。

完全重映射:如果我们选择完全重映射,对于UART3功能的PB端口,UART3功能全部都映射PD端口上面去。

stm32——端口重映射相关推荐

  1. STM32端口重映射

    笔者在使用STM32F103C8T6时,不能使用TIM3输出2路PWM波的问题分析和解决办法. PS. PB4(部分重映射,TIM3_CH1) ,PB5(部分重映射,TIM3_CH2) STM32的端 ...

  2. STM32端口复用和端口重映射

    参考:stm32 端口复用和重映射 作者:点灯小哥 发布时间: 2021-03-09 13:49:19 网址:https://blog.csdn.net/weixin_46016743/article ...

  3. STM32F103单片机JTAG端口重映射

    STM32单片机复位后,JTAG口默认是被占用的.如果想将JTAG占用的几个IO口设置为普通IO口,就需要进行端口重映射. 复位后端口默认功能可以在STM32参考手册上看到 要将JTAG占用的这些口设 ...

  4. 端口复用|端口重映射

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

  5. STM32中重映射的功能和机理

    在STM32系列微控制器中,GPIO端口具有多种功能,如输入.输出.模拟输入/输出等.为了提高GPIO的灵活性和可用性,STM32系列微控制器提供了重映射(Remap)功能. 重映射功能允许将一个GP ...

  6. stm32 TIM2 重映射

    stm32的TIM2的端口使用组合有下面四种: 1.当不重映射时,默认TIM2四个的IO口是PA0.PA1.PA2.PA3 2.要使用PA15.PB3.PA2.PA3的端口组合,要调用下面的语句进行部 ...

  7. STM32 TIM2重映射

    stm32的TIM2的端口使用组合有下面四种: 1.当不重映射时,默认TIM2四个的IO口是PA0.PA1.PA2.PA3 2.要使用PA15.PB3.PA2.PA3的端口组合,要调用下面的语句进行部 ...

  8. STM8L051F3P6TR 定时器2两路PWM输出+死区控制+端口重映射PC5PC6

    使用定时器2的通道1.2输出PWM CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,ENABLE);//打开串口时钟源TIM2_DeInit();TIM2_ ...

  9. STM32 UART2程序--端口重映射

    STM32 UART2程序 2012-12-04 16:26:05 分类: LINUX USART1程序很多,看看USART2程序.注意红色部分,首先要使能相关端口的时钟. 因为USART2可以映射成 ...

  10. stm32之端口复用和重映射

    文章目录 端口复用 端口重映射 端口复用 WHAT IS 端口复用? 一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用 端口复用配置过程(以串口1位例 ...

最新文章

  1. 【imx6】Unable to find the ncurses libraries的解决办法
  2. Spring学习8-Spring事务管理(AOP/声明式式事务管理)
  3. CAN设备多机联网之总线容抗注意事项
  4. Win10+Anaconda环境下安装PyTorch
  5. Windows常用的网络命令
  6. android中拖拽浮动按钮,Android自定义view实现拖拽选择按钮
  7. IAR集成开发环境的使用
  8. 虚拟服务器怎么进去,怎么进入虚拟主机
  9. vant部署_记录mpvue+vant-weapp的使用(一):安装配置使用,引入vant-weapp
  10. 道硕改革宗神学院课表简略
  11. (转)机会还是陷阱:诺亚财富的私募股权策略
  12. 爱搞事情:关于黑苹果Intel网卡驱动这件事
  13. 韩顺平循序渐进学java坦克大战爆炸图
  14. Python 预测孩子身高
  15. xml与json格式互转
  16. django管理后台列表页,TextField字段展示换行等格式(format_html)
  17. win11开机声音如何关闭 windows11关闭开机声音的步骤方法
  18. UI 设计师的盛宴:Web UI 设计资源大系
  19. FL Studio2023最新版编曲音乐制作数字音频软件
  20. Java jdk proxy、cglib、aspectj 三种常用代理示范

热门文章

  1. 八爪鱼抓取html,网页数据爬取方法详解 - 八爪鱼采集器
  2. red5-server-1.0.6-RELEASE 启动异常
  3. Red5 流媒体技术(初级了解)
  4. 【转】我那实现了自己理想的创业老公,却一毛钱股份都没有拿到
  5. 解决报错Duplicate keys detected
  6. 领导人要读的10本管理学书籍
  7. 双11,移动电商如何更好地吸引女性购物?
  8. 企业邮箱部署SSL证书
  9. 样本均值的特征与分布
  10. win10计算机禁用用户账户控制,Win10系统用户帐户控制提示怎么取消 关闭用户账户控制的3种方法...