stm32F103重映射

103 可以进行重映射 

映射选项 根据REMAP寄存器的值确定 。

如tim3  TIME3_REMAP[1:0]=0 则使用 PA6 PA7 PB0 PB1

                                            =10B   PB4 PB5 PB0 PB1 

                                           = 11B    PC6 PC7 PC8 PC9

如下图所示

 

需要用到外设的重映射功能时需要使能AFIO的时钟 RCC_APB2Periph_AFIO 

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE);

### STM32F103 定时器 (TIM) 重映射配置 对于STM32F103系列微控制器而言,定时器的引脚可以通过AFIO(Alternate Function I/O)寄存器来进行重映射。这种灵活性允许开发者根据具体需求调整硬件资源分配。 #### 配置过程概述 为了实现定时器引脚的重映射,需执行如下操作: - **使能必要的时钟源**:确保目标端口与时钟控制寄存器中的相应位被设置以开启所需外设及时钟供应[^1]。 - **初始化 GPIO 设置**:针对要使用的引脚完成模式设定,通常涉及输入/输出方向、速度等级以及上下拉电阻的选择等参数指定[^2]。 - **激活 AFIO 功能并实施重定向**:通过修改 `AFIO_MAPR` 寄存器内的特定字段来指明哪些信号应该路由到不同的物理位置上;例如,可以将 TIM1_CH1 的默认连接从 PA8 移动至 PE9 上。 下面是一个简单的例子展示如何利用标准库函数对 TIM1 进行部分通道的重映射: ```c // 启用相关模块的时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE | RCC_APB2Periph_AFIO, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); // 使用宏定义简化代码可读性和维护性 #define TIM1_PARTIAL_REMAP_PE \ do { \ GPIO_PinRemapConfig(GPIO_PartialRemap_TIM1, ENABLE); \ } while(0) // 调用上述宏完成实际的重映射动作 TIM1_PARTIAL_REMAP_PE; // 接下来按照常规流程继续配置其他属性... ``` 此段程序片段展示了启用GPIO E组和AFIO模块的时钟供给,并调用了`GPIO_PinRemapConfig()` 函数实现了TIM1的部分重映射功能,即将原本位于PA8上的TIM1 CH1信号移动到了PE9上去。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DKZ001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值