原创 GPIO端口复用,重映射, 复用调试接口JTAG为普通GPIO

2023-8-24 14:24 929 8 3 分类: MCU/ 嵌入式 文集: 单片机

GPIO端口复用,重映射 (注意不同芯片类型,使用的配置方式不同)

   复用调试接口JTAG为普通GPIO

 

一、什么是复用与重映射

复用就是将GPIOIO口复用为外设功能(芯片固定的)

重映射功能将部分引脚功能转移到其他引脚(硬件根据芯片连接确定的重映射端口连接),需要用到重映射

二、复用

根据下表STM32F103为例,Main function 是作用为基本IO口,Alternate functionDefault表示可被复用的外设的端口(是固定的),(复用模式的设置见GPIO模式设置博文)

复用配置:

    使能外设时钟,使能IO口时钟,设置为复用模式

USART

SPI

 

三、端口重映射

STM32F103芯片defaultUSART1端口为PA9, PA10; Remap列表示USART1的重映射,硬件设计串口连接到PB6PB7,需要使用端口重映射配置

端口重映射配置:

GPIO时钟配置,外设时钟使能,复用重映射时钟使能,设置为复用模式

特别说明:

只有当使用事件控制寄存器、复用重映射和调试寄存器以及外部中断寄存器的时候,才需要提前开启AFIO的时钟!并不是使用到引脚复用功能就必须开启AFIO时钟。(因此,前面复用功能并没有开启AFIO时钟)

 

四、复用调试接口JTAG/SWD为普通GPIO

STM32F10x系列的MCUPA13/14/15 & PB3/4默认配置为JTAG功能。有时我们为了充分利用MCU I/O口的资源,会把这些端口设置为普通I/O口。具体方法如下

其中用到了PB3PB4引脚为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条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /2 下一条