OpenEdv-开源电子网

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

PWM输出中,PWM初始化的问题

[复制链接]

46

主题

329

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1544
金钱
1544
注册时间
2012-4-9
在线时间
80 小时
发表于 2012-10-8 17:33:44 | 显示全部楼层 |阅读模式

在原有代码基础上,加了几句,同时用PB0 PWM输出控制绿灯,但是初始化中有一句
“预装载使能”,我把这句话去掉了,不影响实验的正常结果,是什么原因?
代码如下:
void PWM_Init(u16 arr,u16 psc)
{        
 //此部分需手动修改IO口设置

 RCC->APB1ENR|=1<<1;       //TIM3时钟使能   
 RCC->APB2ENR|=1<<3;       //PORTB端口使能

 GPIOA->CRH&=0XFFFFFFF0;//PA8输出
 GPIOA->CRH|=0X00000004;//浮空输入
 
 GPIOD->CRL&=0XFFFFF0FF;//PD2输出
 GPIOD->CRL|=0X00000400;//浮空输入
    
 GPIOA->CRL&=0X0FFFFFFF;//PA7输出
 GPIOA->CRL|=0XB0000000;//复用功能输出   
 GPIOA->ODR|=1<<7;//PA7上拉
 
 GPIOB->CRL&=0XFFFFFFF0;//PB0输出
 GPIOB->CRL|=0X0000000B;//复用功能输出
 GPIOB->ODR|=1<<0;//PB0上拉 

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

 TIM3->CCER|=1<<4;   //OC2 输出使能   
 TIM3->CCER|=1<<8;   //OC3 输出使能

 TIM3->CR1=0x8000;   //ARPE使能
 TIM3->CR1|=0x01;    //使能定时器3            
}   

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

使用道具 举报

38

主题

527

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1424
金钱
1424
注册时间
2011-11-27
在线时间
122 小时
发表于 2012-10-8 21:17:31 | 显示全部楼层
多看看参考手册,自然明了~~
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-10-9 01:42:40 | 显示全部楼层
回复【楼主位】jj123paopao:
---------------------------------
这个在精确控制波形的时候才有用,PWM控制LED这样的情况,没太多用.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

46

主题

329

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1544
金钱
1544
注册时间
2012-4-9
在线时间
80 小时
 楼主| 发表于 2012-10-9 08:39:37 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
回复【2楼】科科1987:
---------------------------------
谢谢!
STM32
回复 支持 反对

使用道具 举报

6

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
65
金钱
65
注册时间
2013-1-17
在线时间
0 小时
发表于 2013-1-25 13:06:22 | 显示全部楼层
楼主,能向请教一个问题吗?TIM3->CCMR1|=7<<12;  //CH2 WM2模式 这句话是什么意思?是不是给14位到12位都赋值1呀?谢谢了
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-1-25 14:11:42 | 显示全部楼层
是的.
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-22 02:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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