stm32管脚重映射

本文讲述了在STM32 R8T6板子上移植从RCT6板子的PWM输出遇到的问题及解决方案。R8T6芯片手册显示TIM8不存在,但TIM3可以通过重映射使用PC7、PC8管脚来替代。作者详细介绍了实现TIM3重映射的四步过程,并强调了步骤顺序的重要性。
摘要由CSDN通过智能技术生成

一、问题描述

  最近做了一块板子,功能可以理解成输出pwm波。

程序在实验板(型号rct6)上没有问题,可是在我做的板子上就有问题了,输出不了波形,我做的板子是(r8t6型号的片子)。

二、发现问题

发现问题是很sb的,没有注意这两个片子的差异。

我rct6输出pwm用的定时器是TIM8的ch2、ch3这两路,也就是PC7、PC8管脚。

但是呢,新做的板子r8t6根本没有定时器8,只有定时器1、2、3、4。累死也输出不出来波形啊!

三、解决问题

那咋办,板子已经做好了,仔细看r8t6片子的说明文档,有了新奇的发现。

 其实这俩片子封装都是一样的,焊在电路板上管脚看不出啥区别。

但是从R8T6芯片手册可以看出来能用R8T6的TIM3    代替     RCT6的TIM8。

怎样替换呢?

从芯片资料可以看出,r8t6的TIM3也用到了PC7、PC8。只不过是被Remap上去的,就是我们所说的映射。

 如下图所示:

原来默认TIM3的四个通道对应的管脚是PA6,PA7,PB1,PB0

四、如何实现映射呢

经过查资料,主要映射有四步,这四步的顺序不能错了,顺序很重要。

//板子不同,要对管脚映射
     //1.使能重映射后用到的GPIO的时钟;
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);  //使能GPIO外设时钟使能
    //2.使能功能外设时钟;就是用到哪个定时器,使能哪个功能外设时钟。注意APB2时钟对应的也有定时器。
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);// 
    //3.使能AFIO时钟;
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
    //4.开启重映射;
    GPIO_PinRemapConfig(GPIO_FullRemap_TIM3, ENABLE);   

顺序很重要啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值