STM32引脚定义表以及重映射的使用方法

这篇具有很好参考价值的文章主要介绍了STM32引脚定义表以及重映射的使用方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先STM32的引脚图:

stm32引脚定义,stm32,嵌入式硬件,单片机

1.表格颜色:

橙色是电源相关引脚。

蓝色是最小系统相关的引脚

绿色是IO口,功能这些引脚。

2.类型:

S代表电源,I代表输入,O代表输出,IO代表输入输出

3.I/O口电平(表示它能容忍的的电压):

FT是代表能容忍5v电压。

没有FT就代表只能容忍3.3V电压。

4.主功能(上电后默认的功能):

一般和引脚名称相同,如果不同的话,引脚的实际功能是主功能,而不是引脚名称的功能。

5.默认复用功能(IO口上同时连接外设功能引脚):

这个配置IO口的时候可以选择是通用IO口还是复用功能。

6.重映射功能:

作用:如果两个功能同时复用在一个IO口上,而确实需要用这个两个功能,就可以把其中一个复用功能重映射到其他端口上,前提是这个重定义功能的表里有对应的端口。

简单来说就是这个功能有两个GPIO口都能使用,但你的上电默认的端口(能完成这个功能的端口)有其他的用途,就可以将能完成这个功能的引脚重新定义到另一个能实现这个功能的引脚上,可以使新引脚代替它完成功能。

注:优先使用加粗的IO口,没有加粗的IO口可能需要配置或者兼具其他功能。

调试端口与介绍:

表中34,37~40端口是调试端口,是用来调试程序和下载程序的,STM32支持SWD和JTAG在两种调试方式。

  1. SWD需要两根线,分别是SWDIO和SWCLK
  2. JTAG需要五根线,分别是JTMS,JTCK,JTDI,JTDO,NJTRST

我使用的是DAP-Link用的是SWD模式,只用了A13和PA14两个IO口,剩下的PA15,PB3,PB4可以切换为普通的IO口来使用。但需要在程序中配置,接下来介绍配置方法:

  1. 首先:这是引脚重映射配置函数(要用到AFIO

void GPIO_PinRemapConfig (uint32_t GPIO_Remap, FunctionalState NewState);

第一个参数是重映射方式,可以查看手册(STM32F10×××),在

AFIO这一章中的复用功能IO和调试配置小节,例如:

stm32引脚定义,stm32,嵌入式硬件,单片机

在此图中,TIM2有四种重映射方式:

  1. 没有重映射:TIM2的四个CH通道引脚就是PA0~PA3
  2. 部分重映射方式1:CH1和CH2引脚变成PA15和PB3后两个不变。
  3. 部分重映射方式2:CH3和CH4引脚变成PB10和PB11前两个不变
  4. 完全重映射:四个引脚都变化,为PA15,PB3, PB10,PB11。

其他表都类似情况,有需要可查表。

但是还有个注意是:如果想把TIM2中PA1改成PA15,但是在引脚定义表中,PA15是没有加粗的,也就是说它的主功能并不是简单的IO口,上电后默认复用为了调试端口JTDI,所以想让他作为普通的GPIO或者复用定时器的复用通道,那还需要先关闭调试端口的复用。

关闭方法:和使用重映射的函数一致。

它的参数中三个参数是要记住的:

stm32引脚定义,stm32,嵌入式硬件,单片机

这三个参数就是用来接触调试端口复用的:

有关调试方式和介绍的内容在上方以说明;

参数中的SWJ就是SWD和JTAG这两中调试方式

  1. 首先第一个参数中的SWJ_NoJTRST就是解除JTRST引脚的复用,在引脚表中,NJTRST也就是PB4,如果使用这个参数,那么PB4就变成正常的GPIO口。
  2. 然后第二个参数中的SWJ_JTAGDisable,这个就是接触JTAG调试端口的复用,也就是说JTAG中PA15,PB3,PB4解除复用,变成GPIO口,上面的PA13,PA14是和SWD共用的端口,所以仍为SWD的调试端口不变。
  3. 最后第三个参数,SWJ_Disable,这个参数就是把SWD和JTAG的调试端口全部接解除,在引脚定义里,就是五个调试端口引脚全部变成普通的GPIO口,没有调试功能了。
  4. 注:所以第三个参数不要任意使用,一旦你调用这个参数并且开始下载程序后,你的调试端口就没有了,这之后在使用Link就下载不进去程序了,就只能使用串口下载,才能把调试端口弄回来。

总结一下就是:

  1. 你想让PA15,PB3,PB4三个引脚当做GPIO来使用的话就用这个代码:

stm32引脚定义,stm32,嵌入式硬件,单片机

先打开AFIO时钟,在使用AFIO(引脚重映射配置函数)将JTAG复用解除就可以了。

  1. 如果你想重映射定时器引脚或者其他外设的复用引脚

stm32引脚定义,stm32,嵌入式硬件,单片机

先打开AFIO时钟,再用AFIO重映射外设复用的引脚(变成另一个需要的引脚),就可以了。

  1. 如果你重映射的引脚又刚好是调试端口

stm32引脚定义,stm32,嵌入式硬件,单片机

那么这三行代码你就都得需要,首先打开AFIO的时钟,然后将端口重映射成你需要使用的端口,最后将这个调试端口变成正常的GPIO端口(不具备调试功能)即可。文章来源地址https://www.toymoban.com/news/detail-723054.html

到了这里,关于STM32引脚定义表以及重映射的使用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • stm32f407探索者开发板(十四)——IO引脚复用和映射

    端口复用和重映射都是和单片机的I/O口有关系,端口复用是将一个I/O赋予多个功能,通过设置I/O的工作模式来切换不同的功能。重映射是将某些I/O口上面的功能映射到其他I/O口上面去。但是注意一点:重映射的I/O都是厂家设置好的,不能自己更改。 端口复用 什么是端口复用

    2024年02月16日
    浏览(45)
  • STM32F103xC,xD,xE引脚定义

    由于在使用STM32系列芯片过程中发现互联网没有整理好的引脚定义,因此自己整理一份,方便以后查阅。 Pin 重新上电时的功能 默认功能 重映射 PA0 PA0 WKUP/USART2_CTS/ADC123_IN0/TIM2_CH1_ETR/TIM5_CH1/TIM8_ETR PA1 PA1 USART2_RTS/ADC123_IN1/TIM5_CH2/TIM2/CH2 PA2 PA2 USART2_TX/TIM5_CH3/ADC123_IN2/TIM2_CH3 PA3 PA3 U

    2024年03月09日
    浏览(53)
  • STM32使用内部晶振的配置方法

    ** ** 首先,STM32使用内部晶振需要在代码里面配置,以STM32RCT6为例,在使用内部晶振的情况下最高运行频率为64Mhz,程序只需要在system_stm32f10x.c中配置即可,代码如下,复制以下代码覆盖system_stmf10x.c即可。

    2024年02月08日
    浏览(43)
  • STM32中使用ADC的方法

    ADC(Analog-Digital Converter)即 模拟-数字转换器。 它的作用是将引脚上连续变化的模拟电压,转换为内存中存储的数字量。 STM32中的ADC是12位逐次逼近型ADC,最快转换速度大约1us。 它有多达18个通道,可测量16个外部和2个内部信号源。 各通道的A/D转换可以单次、连续、扫描或间

    2024年02月04日
    浏览(30)
  • STM32F103定时器引脚重定义功能问题处理

    1、概要 在一个项目中,使用STM32F103RCT6单片机,定时器引脚使用的PC6,PC6默认复用定时器为TIM8_CH1,但是由于其他原因,不能使用TIM8_CH1,因此需要使用其重定义功能TIM3_CH1,本文分享了本人在该项目中定时器TIM3引脚复用功能重定义的一些问题及解决过程,希望对大家能有帮助

    2024年02月10日
    浏览(46)
  • STM32使用串口printf乱码问题解决方法

    使用stm32系列单片机串口打印问题,在使用HAL库重新定义printf为串口输出后,输出的内容全都是乱码,试了网上的方法后还是乱码。  像这样的    最后发现是串口调试助手和keil的文字编码方式不同, keil中是GB 2312,串口调试助手是UFT_8,所以打印出来才会乱码  将串口调试助

    2024年02月11日
    浏览(38)
  • 【STM32】STM32F4中USB的CDC虚拟串口(VCP)使用方法

    最近在学习STM32的USB功能,主要是想要使用虚拟串口(VCP)功能,来解决串口传输速率较低的问题,达到于上位机高效通信的目的。 使用芯片:STM32F407ZGT6 使用函数:HAL库 使用工具:STM32CubeMX + Keil uVision5 串口工具:VOFA 主要配置内容: 调试模式为Serial; 使用外部时钟 设置为

    2024年02月21日
    浏览(73)
  • STM32实时时钟(RTC)的配置和使用方法详解

    实时时钟(RTC)是STM32系列微控制器上的一个重要模块,用于提供准确的时间和日期信息。在本文中,我们将详细介绍STM32实时时钟的配置和使用方法。 ✅作者简介:热爱科研的嵌入式开发者,修心和技术同步精进 ❤欢迎关注我的知乎:对error视而不见 代码获取、问题探讨及

    2024年02月21日
    浏览(58)
  • STM32以太网接口的配置和使用方法详解

    STM32 微控制器提供了多种系列和型号,不同型号的芯片可能有不同的以太网接口,包括MAC(媒体访问控制器)和PHY(物理层接口)等组件。 在这里,我们以STM32F4系列为例来详细介绍以太网接口的配置和使用方法。 ✅作者简介:热爱科研的嵌入式开发者,修心和技术同步精进

    2024年04月26日
    浏览(39)
  • STM32存储器映射以及寄存器映射

    目录 1.STM32的寻址范围? 2.存储器映射 3.存储器功能划分(以STM32F1为例) 4.寄存器映射 1.32位单片机有32根地址线,每根地址线有两种状态,导通或者不导通。 2.单片机内存地址访问的存储单元是按字节编址的,而不是bit。 比如我们要访问0x01这个地址,访问的其实是一个字节的空

    2024年04月23日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包