zoukankan      html  css  js  c++  java
  • STM32 GPIO重映射(转)

       重映射就是将引脚功能重新定义到其他引脚, 例如PA9是USART1-TX默认的

    管脚,但是现在PA9用做它用了,那可以将USART1-TX重新映射到PB6,当然这

    种映射不是随意的想映射到哪个脚就哪个脚,芯片内部已经固定了只能映射到固

    定的地方。

    eg:

      

    标准库重映射步骤为:(把串口PA9、PA10 重映射到 PA6、PA7)

    1.打开重映射时钟和USART重映射后的I/O口引脚时钟, 

               RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO,ENABLE);

    2.I/O口重映射开启.

                        GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);

    3.配制重映射引脚.这里只需配置重映射后的I/O,原来的I/O配置删除或保留都行

                                  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
                                  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
                                  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
                                  GPIO_Init(GPIOB, &GPIO_InitStructure);


                                  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
                                  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
                                  GPIO_Init(GPIOB, &GPIO_InitStructure);

    HAL库重映射(以定时器为例):

      

    由上图可见:

      部分重映射:只改变CH1、CH2管脚;

      完全重映射:CH1~CH4管脚全部改变。

    1. 在stm32f1xx_hal_gpio_ex.h找到重映射语句

    2. 添加到管脚定义语句前

    3. 完成

  • 相关阅读:
    开发一款即时通讯App,从这几步开始
    即时通讯App怎样才能火?背后的技术原理,可以从这5个角度切入
    快速搭建一个“微视”类短视频 App
    iOS Push详述,了解一下?
    怒刷3000条短视频后,我终于发现网红300万点赞的套路
    如何精准实现OCR文字识别?
    30分钟彻底弄懂flex布局
    渲染管道
    游戏引擎架构Note2
    浮点数的内存表示方法
  • 原文地址:https://www.cnblogs.com/xingboy/p/9592745.html
Copyright © 2011-2022 走看看