OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3520|回复: 9

高级定时器配置重映像问题

[复制链接]

11

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1455
金钱
1455
注册时间
2020-6-18
在线时间
225 小时
发表于 2020-9-25 18:56:40 | 显示全部楼层 |阅读模式
是这样的,我用定时器3重映像是正常的,但是用定时器1和定时器8都不能重映像。
代码是这样的:
void TIM1_PWM_Init(u16 arr,u16 psc)
{                                                          
        //RCC->APB2ENR|=1<<2; //使能 PORTA 时钟
        RCC->APB2ENR|=1<<11; //使能 TIM1 时钟
                RCC->APB2ENR|=1<<6; //使能 PORTE 时钟
        //GPIOA->CRH&=0XFFFFFFF0; //PA8 输出
        //GPIOA->CRH|=0X0000000B; //复用功能输出
                GPIOE->CRH&=0XFFFFFF0F;        //PE9 输出
                GPIOE->CRH|=0X000000B0;        //复用功能输出
        TIM1->ARR=arr; //设定计数器自动重装值
        TIM1->PSC=psc; //预分频器分频设置
                AFIO->MAPR&=0XFFFFFF3F; //清除MAPR的[7:6]
                AFIO->MAPR|=3<<6;      //重映像
        TIM1->CCMR1|=7<<4; //CH1 PWM2 模式
        TIM1->CCMR1|=1<<3; //CH1 预装载使能
        TIM1->CCER|=1<<1; //OC1 低电平有效
        TIM1->CCER|=1<<0; //OC1 输出使能
        TIM1->BDTR|=1<<15; //MOE 主输出使能,高级定时器必须开启这个
        TIM1->CR1=0x0080; //ARPE 使能
        TIM1->CR1|=0x01; //使能定时器 1       
}

没对齐的是我更改配置的,把没对齐删了,屏蔽的取消屏蔽,是能正常输出PWM的。

1601030995.png
                AFIO->MAPR&=0XFFFFFF3F; //清除MAPR的[7:6]
                AFIO->MAPR|=3<<6;      //重映像


想请问一下高级定时器配置重映像还需要加什么

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1455
金钱
1455
注册时间
2020-6-18
在线时间
225 小时
 楼主| 发表于 2020-9-25 18:58:52 | 显示全部楼层
回复 支持 反对

使用道具 举报

6

主题

211

帖子

0

精华

高级会员

Rank: 4

积分
833
金钱
833
注册时间
2019-12-17
在线时间
157 小时
发表于 2020-9-25 19:15:48 | 显示全部楼层
你的芯片是多少脚的?f10X系列TIM1完全重映像只适用于100脚和144脚封装的,你看看你对应的芯片系列是否有类似的问题
回复 支持 反对

使用道具 举报

11

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1455
金钱
1455
注册时间
2020-6-18
在线时间
225 小时
 楼主| 发表于 2020-9-25 19:18:25 | 显示全部楼层
y284858 发表于 2020-9-25 19:15
你的芯片是多少脚的?f10X系列TIM1完全重映像只适用于100脚和144脚封装的,你看看你对应的芯片系列是否有类 ...

stm32VCT6——100引脚的
我是定时器3能完全重映像,定时器1不想,PWM输出是可以的
回复 支持 反对

使用道具 举报

6

主题

211

帖子

0

精华

高级会员

Rank: 4

积分
833
金钱
833
注册时间
2019-12-17
在线时间
157 小时
发表于 2020-9-25 19:23:18 | 显示全部楼层
二三五 发表于 2020-9-25 19:18
stm32VCT6——100引脚的
我是定时器3能完全重映像,定时器1不想,PWM输出是可以的

看上去没有问题,你看看你程序只留tim1的时候是不是正常的,可能是其他地方用到同一个io
回复 支持 反对

使用道具 举报

11

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1455
金钱
1455
注册时间
2020-6-18
在线时间
225 小时
 楼主| 发表于 2020-9-25 19:26:32 | 显示全部楼层
y284858 发表于 2020-9-25 19:23
看上去没有问题,你看看你程序只留tim1的时候是不是正常的,可能是其他地方用到同一个io

我是直接在原子的PWM例程上改的,没有其它东西
回复 支持 反对

使用道具 举报

6

主题

211

帖子

0

精华

高级会员

Rank: 4

积分
833
金钱
833
注册时间
2019-12-17
在线时间
157 小时
发表于 2020-9-25 19:47:28 | 显示全部楼层
二三五 发表于 2020-9-25 19:26
我是直接在原子的PWM例程上改的,没有其它东西

你开一下AFIO时钟看看,我看你好像没有开
回复 支持 反对

使用道具 举报

11

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1455
金钱
1455
注册时间
2020-6-18
在线时间
225 小时
 楼主| 发表于 2020-9-25 20:29:07 | 显示全部楼层
y284858 发表于 2020-9-25 19:47
你开一下AFIO时钟看看,我看你好像没有开

是了,例程是少了这句,加上就好了,我是项目被FSMC干扰了,
回复 支持 反对

使用道具 举报

11

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1455
金钱
1455
注册时间
2020-6-18
在线时间
225 小时
 楼主| 发表于 2020-9-25 20:32:27 | 显示全部楼层
y284858 发表于 2020-9-25 19:47
你开一下AFIO时钟看看,我看你好像没有开

T1C2N,你知道向这种带N的怎么控制吗,我项目那边的FSMC改不了,只能改引脚了,但是这种带N是怎么配置的
回复 支持 反对

使用道具 举报

6

主题

211

帖子

0

精华

高级会员

Rank: 4

积分
833
金钱
833
注册时间
2019-12-17
在线时间
157 小时
发表于 2020-9-27 09:46:05 | 显示全部楼层
二三五 发表于 2020-9-25 20:32
T1C2N,你知道向这种带N的怎么控制吗,我项目那边的FSMC改不了,只能改引脚了,但是这种带N是怎么配置的
...

带N的重映射跟不带N的在一个表里,你给的截图里面就有
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-17 04:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表