STM32f103ZET6 TIM8輸出PWM波形


定時器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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM