码迷,mamicode.com
首页 > 其他好文 > 详细

STM32f103ZET6 TIM8输出PWM波形

时间:2017-12-29 23:40:07      阅读:479      评论:0      收藏:0      [点我收藏+]

标签:时钟   div   说明   amp   重装   产品   分频器   ini   脉冲   

定时器8属于高级定时器,只存在于大容量产品的103系列中,定时器8输出PWM波形时与通用定时器2、3、4、5不同,必须同时开启主输出(TIM8->BDTR|=0x8000;)才能产生PWM波,其配置如下:

 1 /*********************************************
 2     函数名称:void TIM4_PWM_Init(u16 arr,u16 psc)
 3     功        能:通用TIM4 CH1(PB6) CH2(PB7)PWM输出初始化
 4     入        参:arr:自动重装值。
 5                         psc:时钟预分频数
 6     返        回:无
 7 【说明】Frq = 72Mhz / ( psc + 1 ) / ( arr + 1 )
 8 *********************************************/
 9 void TIM4_PWM_Init(u16 arr,u16 psc)
10 {
11     RCC->APB1ENR|=1<<2;         //TIM4时钟使能    
12     RCC->APB2ENR|=1<<3;        //使能PORTB时钟    
13            
14     GPIOB->CRL&=0X00FFFFFF;    //PB6 7 输出
15     GPIOB->CRL|=0XBB000000;    //复用功能输出       
16  
17     TIM4->ARR=arr;                //设定计数器自动重装值 
18     TIM4->PSC=psc;                //预分频器分频设置
19     
20     TIM4->CCMR1|=6<<4;      //CH1 PWM1模式
21                                                 //6: PWM1模式, 正脉冲
22                                                 //7: PWM2模式, 负脉冲
23     TIM4->CCMR1|=1<<3;         //CH1 预装载使能       
24     TIM4->CCER|=1<<0;       //OC1 输出使能       
25     
26     TIM4->CCMR1|=6<<12;      //CH2 PWM1模式
27     TIM4->CCMR1|=1<<11;     //CH2 预装载使能       
28     TIM4->CCER|=1<<4;       //OC2 输出使能
29 
30     TIM4->CR1=0x0080;       //ARPE使能 
31     TIM4->CR1|=0x01;        //使能定时器4
32 }
33 /*********************************************
34     函数名称:TIM8_PWM_Init
35     功        能:通用TIM8 CH1(PC6) CH2(PC7)PWM输出初始化
36     入        参:arr:自动重装值。
37                         psc:时钟预分频数
38     返        回:无
39 【说明】Frq = 72Mhz / ( psc + 1 ) / ( arr + 1 )
40 *********************************************/
41 void TIM8_PWM_Init(u16 arr,u16 psc)
42 {
43     RCC->APB2ENR|=1<<13;         //TIM8时钟使能
44     RCC->APB2ENR|=1<<4;        //使能PORTC时钟    
45            
46     GPIOC->CRL&=0X00FFFFFF;    //PC6 7 输出
47     GPIOC->CRL|=0XBB000000;    //复用功能输出       
48  
49     TIM8->ARR=arr;                //设定计数器自动重装值 
50     TIM8->PSC=psc;                //预分频器分频设置
51     
52     TIM8->CCMR1|=6<<4;      //CH1 PWM1模式
53                                                 //6: PWM1模式, 正脉冲
54                                                 //7: PWM2模式, 负脉冲
55     TIM8->CCMR1|=1<<3;         //CH1 预装载使能       
56     TIM8->CCER|=1<<0;       //OC1 输出使能       
57     
58     TIM8->CCMR1|=6<<12;      //CH2 PWM1模式
59     TIM8->CCMR1|=1<<11;     //CH2 预装载使能       
60     TIM8->CCER|=1<<4;       //OC2 输出使能
61 
62     TIM8->CR1=0x0080;       //ARPE使能
63     TIM8->BDTR|=0x8000;        //主输出使能
64     TIM8->CR1|=0x01;        //使能定时器8
65 }

 

STM32f103ZET6 TIM8输出PWM波形

标签:时钟   div   说明   amp   重装   产品   分频器   ini   脉冲   

原文地址:https://www.cnblogs.com/ivan0512/p/8146470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!