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);

  • 相关阅读:
    E1696命令行错误: 无法打开元数据文件"platform.winmd"
    搭建集群hadoop
    搭建单节点hadoop
    搭建hadoop遇到的Q&A
    Q&A(Constantly Updating)
    基于Spark的SVM模型手写数字识别
    常见设计模式——装饰模式
    常见设计模式——策略模式
    常见设计模式——观察者模式
    常见设计模式——三种工厂模式(简单工厂、工厂方法、抽象工厂)
  • 原文地址:https://www.cnblogs.com/darren-pty/p/13909437.html
Copyright © 2011-2022 走看看