单片机
返回首页

STM32_管脚 部分映射和全映射

2022-03-30 来源:eefocus

在管脚映射的时候一定要记得开启映射的时钟RCC_APB2Periph_AFIO


如下


RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);

GPIO_PinRemapConfig(GPIO_Remap_PD01, ENABLE);    

GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);//全部释放

GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE);

GPIO_PinRemapConfig(GPIO_FullRemap_TIM2, ENABLE);


映射了PD0,PD1(外部时钟管脚,默认为时钟输入)。


STM32中关于PD0和PD1的映射有如下说明:


The pins number 2 and 3 in the VFQFPN36 package, and 5 and 6 in the LQFP48 and LQFP64 packages are configured as

OSC_IN/OSC_OUT after reset, however the functionality of PD0 and PD1 can be remapped by software on these pins. For the LQFP100 package, PD0 and PD1 are available by default, so there is no need for remapping. For more details, refer to the Alternate function I/O and debug configuration section in the STM32F10xxx reference manual.

The use of PD0 and PD1 in output mode is limited as they can only be used at 50 MHz in output mode.


切记:PD0和PD1使用输出模式的时候被限制在只能用50MHz使用,否则无法输出高低电平。实测验证过,,,,

 

GPIO_Remap_SWJ_Disable是将JTAG所有的管脚全映射为GPIO了。


至于部分映射TIM3和全映射TIM2,等其他的映射可查看寄存器AFIO_MAPR的说明。如下图

我的程序使用的是PB4输出定时器3 通道1的PWM,故此处为GPIO_PartialRemap_TIM3部分重映射。


又如下图,

#define GPIO_Remap_SWJ_NoJTRST      ((uint32_t)0x00300100) 

#define GPIO_Remap_SWJ_JTAGDisable  ((uint32_t)0x00300200)

#define GPIO_Remap_SWJ_Disable      ((uint32_t)0x00300400) 


可以通过选择GPIO_Remap_SWJ_NoJTRST     ,将PB4的IO功能使用,就是释放了NJTRST的功能。


当选择GPIO_Remap_SWJ_Disable,所有相关的调试口均释放成了IO口。此时通过Jlink的SW方式下载时,无法下载程序,


解决方法:

1.需要复位下载(可将复位管脚对地短路,在点击下载后,释放复位管脚即可下载程序,复位时,管脚为默认功能)


2.将BOOT0拉高使用串口下载。


 


注意:

(1)TIM2_CH1 和 TIM2_ETR 共用一个引脚,但不能同时使用(因此在此使用这样的标记: TIM2_CH1_ETR)


(2)当不使用主振荡器HSE时(系统运行于内部的8MHz阻容振荡器), PD0和PD1可以映像到OSC_IN和OSC_OUT引脚。此功能只能适用于36、 48和64引脚的封装(PD0和PD1出现在100脚和144脚的封装上,不必重映像)。


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 用数字电路CD4069制作的万能遥控轻触开关

  • 使用ESP8266从NTP服务器获取时间并在OLED显示器上显示

  • 开关电源的基本组成及工作原理

  • 用NE555制作定时器

  • 带有短路保护系统的5V直流稳压电源电路图

    相关电子头条文章