zoukankan      html  css  js  c++  java
  • 4- stm32 gpio重映射

    stm32 的PA15, PB3, PB4管脚做普通管脚的解决办法:

    使用的是SWD方式进行下载程序,仅仅使用到SWDIO(PA13) 和SWCLK(PA14)两个管脚。我将PA15(JTDI)和PB3(JTDO)管脚用于他用(用于点LED使用),发现无法将这两个管脚拉低:

    我在网上搜到PA15,PB3,PB4这几个管脚默认功能不是普通管脚,需要进行重映射后,才能普通使用

    解决办法:

        GPIO_InitTypeDef GPIO_InitStructus;
        
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE);//RCC_APB2Periph_AFIO必须开启
        GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);//改变映射(失能JTAG) 
        
        GPIO_InitStructus.GPIO_Pin = GPIO_Pin_15;
        GPIO_InitStructus.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStructus.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOA,&GPIO_InitStructus);
        
        
        GPIO_InitStructus.GPIO_Pin = GPIO_Pin_3;
        GPIO_InitStructus.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStructus.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOB,&GPIO_InitStructus);
        GPIO_SetBits(GPIOB,LED2);

    其中:GPIO_Remap_SWJ_JTAGDisable  改变管脚映射(失能JTAG功能)

               GPIO_Remap_SWJ_NoJTRST  : Full SWJ Enabled (JTAG-DP + SW-DP) but without JTRST        

               GPIO_Remap_SWJ_Disable   : Full SWJ Disabled (JTAG-DP + SW-DP)

    什么时候需要开复用时钟,RCC_APB2Periph_AFIO:

    (1)使用EXTI

    (2)重映射(用到外设的重映射功能时才需要使能AFIO的时钟)

    举例:重映射USART2

    USART2的TX/RX在PA.2/3.但是,PA.2已经被Timer2的channel3使用.这时,如果还想使用USART2,但又不想影响Timer2的使用,这就需要把USART2的TX/RX重映射到PD.5/6。

    映射库函数的调用过程

    (1)使能被重新映射到的I/O端口时钟

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);

    (2)使能被重新映射的外设时钟

        RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);

    (3)使能AFIO功能的时钟(勿忘!)

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);

    (4)进行重映射

        GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);

  • 相关阅读:
    兼容性处理
    H5 IOS 虚拟键盘不回落的问题
    git 的版本控制
    vue-devtools工具的安装
    linux下安装mysql
    Python安装pip3常见问题
    linux下安装python3
    接口_注册接口
    接口_简单get接口_第一个接口
    Python学习笔记_Redis
  • 原文地址:https://www.cnblogs.com/darren-pty/p/13909437.html
Copyright © 2011-2022 走看看