GPIO端口复用,重映射 (注意不同芯片类型,使用的配置方式不同)
复用调试接口JTAG为普通GPIO
一、什么是复用与重映射
复用就是将GPIO的IO口复用为外设功能(芯片固定的)
重映射功能将部分引脚功能转移到其他引脚(硬件根据芯片连接确定的重映射端口连接),需要用到重映射
二、复用
根据下表STM32F103为例,Main function 是作用为基本IO口,Alternate function中Default表示可被复用的外设的端口(是固定的),(复用模式的设置见GPIO模式设置博文)
复用配置:
使能外设时钟,使能IO口时钟,设置为复用模式
USART
SPI
三、端口重映射
STM32F103芯片default的USART1端口为PA9, PA10; Remap列表示USART1的重映射,硬件设计串口连接到PB6和PB7,需要使用端口重映射配置
端口重映射配置:
GPIO时钟配置,外设时钟使能,复用重映射时钟使能,设置为复用模式
特别说明:
只有当使用事件控制寄存器、复用重映射和调试寄存器以及外部中断寄存器的时候,才需要提前开启AFIO的时钟!并不是使用到引脚复用功能就必须开启AFIO时钟。(因此,前面复用功能并没有开启AFIO时钟)
四、复用调试接口JTAG/SWD为普通GPIO
STM32F10x系列的MCU,PA13/14/15 & PB3/4默认配置为JTAG功能。有时我们为了充分利用MCU I/O口的资源,会把这些端口设置为普通I/O口。具体方法如下
其中用到了PB3,PB4引脚为JTAG引脚,需要设置AFIO时钟,使用映射函数,不使能JTAG,设置为普通IO模式
GPIO_PinRemapConfig()函数参数选择
使用GPIO_Remap_SWJ_JTAGDisable ,采用SWD方式下载,只失能JTAG
GPIO_Remap_SWJ_Disable使能这个则导致程序不能下载。作者: light, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-4056283.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论