STM32上有很多I/O口,也有很多的内置外设,为了节省引出管脚,这些内置外设都是与I/O口共用引出管脚,ST称其为I/O管脚的复用功能,相信这点大家都很清楚,因为基本上所有单片机都是这么做的。但不知有多少人知道,很多复用功能的引出脚可以通过重映射,从不同的I/O管脚引出,即复用功能的引出脚位是可通过程序改变的。
这一功能的直接好处是,PCB电路板的设计人员可以在需要的情况下,不必把某些信号在板上绕一大圈完成联接,方便了PCB的设计同时潜在地减少了信号的交叉干扰。
复用功能引出脚的重映射功能所带来的潜在好处是,在你不需要同时使用多个复用功能时,虚拟地增加复用功能的数量。例如,STM32上最多有3个USART接口,当你需要更多UART接口而又不需要同时使用它们时,可以通过这个重映射功能实现更多的UART接口。
下述复用功能的引出脚具有重映射功能: - 晶体振荡器的引脚在不接晶体时,可以作为普通I/O口 - CAN模块 - JTAG调试接口 - 大部分定时器的引出接口 - 大部分USART的引出接口 - I2C1的引出接口 - SPI1的引出接口
详细内容请看STM32的技术参考手册。
下图示出了部分复用功能引出脚的重映射结果: |