OpenEdv-开源电子网

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

TIM2_CH2 重映射输出PWM问题

[复制链接]

1

主题

5

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2013-11-4
在线时间
1 小时
发表于 2014-2-12 16:50:28 | 显示全部楼层 |阅读模式
     TIM2_CH2重映射到PB3输出PWM,部分映射和全映射都不行,JTAG和SWD也关了,怎么都出不了PWM。求原子哥和各位高手指点!

       void TIM2_PWM_Init(u16 arr,u16 psc,u16,ccr2)
{  
RCC->APB1ENR|=1<<0; //TIM2时钟使能    
RCC->APB2ENR|=1<<3;     //使能PORTB时钟
GPIOB->CRL&=0XFFFF0FFF; //PB3输出
GPIOB->CRL|=0X0000B000; //复用功能输出    
  
RCC->APB2ENR|=1<<0;     //开启IO辅助功能时钟   
AFIO->MAPR&=0XFFFFFCFF; //清除MAPR的[9:8]
AFIO->MAPR|=1<<8;       //部分重映像,TIM2_CH2->B3

TIM2->ARR=arr-1; //设定计数器自动重装值 
TIM2->SC=psc; //预分频器不分频
TIM2->CCMR1|=7<<12;   //CH2 PWM2模式  
TIM2->CCMR1|=1<<11; //CH2预装载使能

TIM2->CR1&=0<<4;     //计数器向上计数
TIM2->CCER|=1<<4;   //OC2输出使能

TIM2->CCR2=ccr2;      
TIM2->EGR|=1<<0;     //重新初始化计数器
TIM2->CR1=0x8000;   //ARPE使能 
TIM2->CR1|=0x01;     //使能定时器2  
}

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-2-13 00:44:21 | 显示全部楼层
不重印射的时候,输出正常么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2013-11-4
在线时间
1 小时
 楼主| 发表于 2014-2-13 09:39:27 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
不重映射是正常的,可以出PWM。论坛上也有人有同样的问题,如:http://www.openedv.com/posts/list/2422.htm 
求原子哥和各位高手帮忙解决一下,万分感谢!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-2-13 12:44:05 | 显示全部楼层
关闭JTAG的操作在哪里?

我有TIM3_CH2的部分重映射代码:
//TIM3 WM部分初始化 
//PWM输出初始化
//arr:自动重装值
//psc:时钟预分频数
void TIM3_PWM_Init(u16 arr,u16 psc)
{    
//此部分需手动修改IO口设置
RCC->APB1ENR|=1<<1;  //TIM3时钟使能    
RCC->APB2ENR|=1<<3;     //使能PORTB时钟
GPIOB->CRL&=0XFF0FFFFF; //PB5输出
GPIOB->CRL|=0X00B00000; //复用功能输出      
   
RCC->APB2ENR|=1<<0;     //开启辅助时钟    
AFIO->MAPR&=0XFFFFF3FF; //清除MAPR的[11:10]
AFIO->MAPR|=1<<11;      //部分重映像,TIM3_CH2->B5

TIM3->ARR=arr; //设定计数器自动重装值 
TIM3->SC=psc; //预分频器不分频

TIM3->CCMR1|=7<<12;   //CH2 WM2模式  
TIM3->CCMR1|=1<<11;  //CH2预装载使能    
TIM3->CCER|=1<<4;    //OC2 输出使能    
TIM3->CR1=0x8000;    //ARPE使能 
TIM3->CR1|=0x01;     //使能定时器3    
}
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2013-11-4
在线时间
1 小时
 楼主| 发表于 2014-2-13 15:52:21 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
在主函数里,最开始初始化的时候。TIM3_CH2重映射没有任何问题,很正常。TIM2_CH2重映射就是不行,唉。
回复 支持 反对

使用道具 举报

7

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
209
金钱
209
注册时间
2015-8-17
在线时间
22 小时
发表于 2015-11-25 17:11:26 | 显示全部楼层
是不是和完全重映射的那几个I/O口有关啊,还可能有其他的功能
回复 支持 反对

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10572
金钱
10572
注册时间
2017-2-18
在线时间
1914 小时
发表于 2018-4-21 22:32:26 | 显示全部楼层
战舰板子为例:

战舰&amp;精英(F103)TIM2重映射测试(PA15.PB3.PB10.PB11).rar

2.31 MB, 下载次数: 1604

回复 支持 反对

使用道具 举报

5

主题

16

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2018-10-5
在线时间
15 小时
发表于 2018-12-4 10:11:49 | 显示全部楼层
我遇到了同样的问题,关闭JTAG,输出不了PWM。
回复 支持 反对

使用道具 举报

5

主题

16

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2018-10-5
在线时间
15 小时
发表于 2018-12-4 10:35:49 | 显示全部楼层
可以用了,关闭JTAG可以产生PWM,是我的PSC设置不对。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-22 08:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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