登录/注册

stm32f103c8t6数据手册重映射

stm32f103c8t6数据手册重映射

更多

STM32F103C8T6 的 重映射 (Remap) 功能是其 复用功能 I/O (AFIO) 模块的核心特性之一。它允许你将某些片上外设(如 USART、定时器、SPI、I2C 等)的默认引脚分配,切换到芯片提供的另一组备选引脚上

为什么要重映射?

  1. 避免引脚冲突: 当设计中多个外设的默认引脚位置发生重叠或冲突时,重映射可以将其中一个外设“移动”到其他空闲引脚。
  2. 优化 PCB 布局: 为了布线方便、缩短走线长度、减少交叉干扰,可能需要将某个外设的信号线安排到芯片的不同侧面。
  3. 适应特定硬件设计: 某些外设(如 CAN、USB)在特定封装下只有重映射后的引脚可用。
  4. 释放默认引脚作他用: 如果默认引脚没有使用该外设,重映射可以释放它们用作 GPIO 或其他功能。

STM32F103C8T6 的重映射机制 (关键点):

  1. AFIO 时钟使能: 在使用重映射功能之前必须在 RCC 模块中使能 AFIO (Alternate Function I/O) 的时钟 (RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE))。这是最常见的遗漏点!
  2. 重映射寄存器 (AFIO_MAPR): 主要的重映射配置都通过 AFIO_MAPR (AFIO remap and debug I/O configuration register) 寄存器完成。该寄存器包含多个位字段,每个字段控制一个或一组外设的重映射状态。
  3. 两种重映射模式:
    • 部分重映射 (Partial Remap): 外设的部分信号线从默认引脚切换到备用引脚,另一部分信号线仍保留在默认引脚。例如,定时器 TIM2 的部分重映射只改变 CH3 和 CH4 的引脚。
    • 完全重映射 (Full Remap): 外设的所有信号线都从默认引脚切换到另一组备用引脚。例如,TIM2 的完全重映射将所有通道和触发/刹车引脚都移到新位置。
  4. 外设时钟使能: 在配置重映射之后,再使能目标外设的时钟。
  5. GPIO 配置: 必须将重映射后使用的目标 GPIO 引脚配置为复用功能输出模式 (GPIO_Mode_AF_PPGPIO_Mode_AF_OD,取决于外设要求)。

操作步骤概要 (以库函数为例):

  1. 使能 AFIO 时钟: RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
  2. 配置重映射:
    • 使用库函数:GPIO_PinRemapConfig(Remap_XXX, ENABLE); (其中 Remap_XXX 是具体的重映射宏定义,如 Remap_TIM2, Remap_USART1, Remap_SPI1 等)。
    • 或者直接操作 AFIO->MAPR 寄存器相应的位字段 (如 AFIO_MAPR_TIM2_REMAP[1:0], AFIO_MAPR_USART1_REMAP, AFIO_MAPR_SPI1_REMAP)。
    • 选择正确的重映射宏/位字段至关重要! 部分重映射和完全重映射有不同的宏/位设置。例如:
      • Remap_TIM2_Partial1 / Remap_TIM2_Partial2 / Remap_TIM2_Full
      • Remap_USART1 (对于 USART1,通常是完全重映射)
      • Remap_SPI1
  3. 使能外设时钟: RCC_APBxPeriphClockCmd(RCC_APBxPeriph_XXX, ENABLE); (例如 RCC_APB2Periph_USART1)。
  4. 配置目标 GPIO 引脚: 将你选择作为重映射输出的引脚(不再是默认引脚!)配置为复用功能模式。
    • 初始化 GPIO (GPIO_InitTypeDef)
    • GPIO_InitStruct.GPIO_Pin = ... (重映射后的引脚,如 PA9/PA10 重映射为 PB6/PB7)
    • GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP; (推挽复用输出) 或 GPIO_Mode_AF_OD; (开漏复用输出,如 I2C)
    • GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; (通常)
    • GPIO_Init(GPIOx, &GPIO_InitStruct);

STM32F103C8T6 常见外设的重映射选项举例 (参考数据手册):

重要提示:

  1. 务必查阅数据手册: 以上列表是常见情况的示例。最权威、最准确的信息来源永远是 STM32F103C8T6 的数据手册 (Datasheet) 和参考手册 (Reference Manual RM0008)。请查阅:
    • Datasheet: 确认芯片封装 (这里是 LQFP48) 和具体的引脚定义表 (Pinout and pin description),看哪些引脚支持哪些外设的复用功能。
    • Reference Manual: 详细查看 "9.3 Alternate function I/O and debug configuration (AFIO)" 章节 (通常在 Section 9.3),特别是 "9.3.2 AF remap and debug I/O configuration register (AFIO_MAPR)" 小节。这里会列出所有可重映射的外设、支持的映射模式(部分/完全)以及对应的寄存器位配置。这是进行重映射编程的核心依据。
  2. AFIO 时钟: 忘记使能 AFIO 时钟是重映射失败的最常见原因!
  3. JTAG/SWD 引脚 (PA13, PA14, PA15, PB3, PB4): 这些引脚默认用于调试。如果你重映射的外设需要使用这些引脚 (如 SPI1 重映射到 PB3/PB4/PB5),你可能需要在 AFIO_MAPR 寄存器中禁用 JTAG 功能(保留 SWD 通常足矣),例如 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);。否则这些引脚会被调试器占用,导致你的外设无法正常工作。
  4. 引脚复用功能: 即使不进行重映射,当使用外设的默认引脚时,也需要将这些 GPIO 配置为 Alternate Function Push-Pull (AF_PP)Alternate Function Open-Drain (AF_OD) 模式。重映射只是改变了外设信号连接到哪一个具体的 GPIO 引脚上,GPIO 配置的模式要求不变。
  5. 规划引脚: 在 PCB 设计或开发板布线前,仔细规划好所有外设使用的引脚及其是否需要重映射,避免冲突和不必要的复杂性。

总结: STM32F103C8T6 的重映射功能通过 AFIO 模块实现,允许将特定外设的 I/O 信号灵活地分配到不同的物理引脚上。使用时必须:1) 使能 AFIO 时钟;2) 配置 AFIO_MAPR 寄存器(或使用库函数)选择所需的重映射模式;3) 使能外设时钟;4) 正确配置目标 GPIO 引脚的复用功能模式。详细的重映射选项和寄存器位定义,请务必查阅官方数据手册和参考手册的 AFIO 章节。

STM32为什么首选F103C8T6

STM32F103C8T6是STMicroelectronics(ST)推出的一款基于ARMCortex-M3内核的32位微控制器单片机(MCU)。它具有一系列优势和广泛的应用场景。这里就来介绍一下

2024-05-18 08:04:25

stm32f103c8t6怎么连接噪声传感器

连接噪声传感器到STM32F103C8T6需要以下步骤: 确定传感器和STM32F103C8T6之间的连接接口。噪声传感器通常使用模拟信号输出,可以将其连接到

2023-12-21 16:10:05

ch32f103c8t6stm32f103c8t6的区别

ch32f103c8t6与stm32f103c8t6的区别 STM32F103C8T6是一款32位微处理器,属于

2023-08-22 16:05:41

STM32F103C8t6程序下载

STM32F103C8t6程序下载

资料下载 golabs 2021-11-24 18:21:06

STM32F103C8T6原理图

STM32F103C8T6原理图免费下载。

资料下载 bye陈发树 2021-06-02 10:01:10

STM32F103C8T6核心板资料汇总

STM32F103C8T6核心板资料汇总

资料下载 jf_42320578 2021-05-20 15:31:18

STM32F103C8T6单片机原理图下载

STM32F103C8T6单片机原理图下载

资料下载 ah此生不换 2021-04-12 09:36:07

STM32F103C8T6核心板的资料合集免费下载

),STM32F103C8T6原理图,STM32F103C8T6核心板尺寸,STM32F103C8T6.SCHLIB,和

资料下载 浮世漂流 2020-06-04 08:00:00

STM32F103C8T6中断特征介绍 用按钮为STM32 MCU触发一个中断

中断是MCU的特征之一,STM32F103C8T6也不例外。以下通过STM32F103C8T6 Blue Pill外接一个按钮,向MCU触发外部中断。

2022-05-17 08:57:14

STM32F103C8T6STM32F103CBT6的区别

一 序:1 STM32F103C8T6和STM32F103CBT6 引脚相同,唯一的区别是前者为64kflash(0x8000000~0x800FFFF) 后者为128kflash

2022-01-26 08:19:25

stm32f103C8T6是如何使用DMA发送数据

如何去实现stm32f103C8T6接收DMA和串口IDLE中断配合接收不定长数据呢?stm32f103C8T6是如何使用DMA发送

2021-12-06 06:46:57

STM32f103c8t6的引脚有哪些

STM32f103c8t6的引脚有哪些?STM32f103c8t6的引脚是如何定义的?

2021-10-26 07:27:55

深圳高价回收STM32F103C8T6 收购STM32F103C8T6

大量收购工厂库存ST电子芯片STM32F103C8T6 ,实力收购工厂库存ST芯片STM32F103C8T6 ,回收价格高!!财富热线 帝欧电子 赵先生 ***同步微信 )QQ:879821252

2021-08-30 16:10:30

stm32f103c8t6是如何使用LORA传输数据

stm32f103c8t6使用LORA传输数据本次实验目的:使用多个STM32f103C8T6采集不同地点的环境

2021-08-09 08:56:08
7天热门专题 换一换
相关标签