久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> STM32 >> 瀏覽文章

STM32之TIM3_PWM程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2014年08月17日   【字體:

原理圖:
調PB5的亮度

 頭文件及完整例程下載:http://www.zg4o1577.cn/f/stm32標準例程庫函數.rar

程序分析:

int main(void)
{
unsigned char a=0;
TIM_OCInitTypeDef  TIM3_OCInitStructure;
  RCC_Configuration();  
  time_ini();      
    SysTick_Config(72000);   //配置SYSTICK時鐘節拍為1ms一次
  while(1){
  Delay(1);  //延時1ms  
TIM3_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;  //PWM模式2 
  TIM3_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;  //輸出禁止        
  TIM3_OCInitStructure.TIM_Pulse = CCR2_Val;  //確定占空比
  TIM3_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; 
  TIM_OC2Init(TIM3, &TIM3_OCInitStructure);
 
  /*調整CCR2_Val的值來改變占空比,逐步的控制LED1的亮度, 占空比大過一定值時,
亮度的變化就不明顯了,所以CCR2_VAL最大設定到17000*/
if(a==0) CCR2_Val=CCR2_Val+10;  
else CCR2_Val=CCR2_Val-10;
if(CCR2_Val>17000){ CCR2_Val=17000; a=1;}  
else if(CCR2_Val<200){ CCR2_Val=200; a=0;} 
  }

} 

時鐘初始化打開
RCC_APB2Periph_AFIO ,RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOCD| RCC_APB2Periph_GPIOD| RCC_APB2Periph_GPIOE

void RCC_Configuration(void){
 
  SystemInit(); 
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); 
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC 
  | RCC_APB2Periph_GPIOD| RCC_APB2Periph_GPIOE , ENABLE);
} 

配置初始化,初始化PB5為復用輸出,TIM3部分映射到PB5,設置PWM的時鐘為72M/(3*2400)=10K,初始化TIM3時鐘,
占空比為
CCR2_Val /(TIM_Period  +1)

void time_ini(void){
  GPIO_InitTypeDef GPIO_InitStructure;
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
 
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //PB5復用為TIM3的通道2
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOB, &GPIO_InitStructure);
  /*TIM3局部復用功能開啟 在TIM3的局部復用開啟時,PB5會被復用為TIM3_CH2*/
  GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3 , ENABLE); //TIM3部分映射到PB5  
 
   /*-------------------------------------------------------------------
  TIM3CLK=72MHz  預分頻系數Prescaler=2 經過分頻 定時器時鐘為24MHz
  根據公式 通道輸出占空比=TIM3_CCR2/(TIM_Period+1),可以得到TIM_Pulse的計數值  
  捕獲/比較寄存器2 TIM3_CCR2= CCR2_Val     
  -------------------------------------------------------------------*/
  TIM3_TimeBaseStructure.TIM_Prescaler = 2;    //預分頻器TIM3_PSC=3 24M
  TIM3_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //計數器向上計數模式 TIM3_CR1[4]=0
  TIM3_TimeBaseStructure.TIM_Period =2399;            //自動重裝載寄存器TIM3_APR  確定頻率為10KHz     
  TIM3_TimeBaseStructure.TIM_ClockDivision = 0x0; //時鐘分頻因子 TIM3_CR1[9:8]=00
  TIM3_TimeBaseStructure.TIM_RepetitionCounter = 0x0;
  TIM_TimeBaseInit(TIM3,&TIM3_TimeBaseStructure); //寫TIM3各寄存器參數
  
  TIM3_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;    //PWM模式2 TIM3_CCMR1[14:12]=111 在向上計數時,
     //一旦TIMx_CNT<TIMx_CCR1時通道1為無效電平,否則為有效電平
  TIM3_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;    //輸入/捕獲2輸出允許  OC2信號輸出到對應的輸出引腳PB5
  TIM3_OCInitStructure.TIM_Pulse = CCR2_Val;    //確定占空比,這個值決定了有效電平的時間。
  TIM3_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;    //輸出極性  低電平有效 TIM3_CCER[5]=1;
         
  TIM_OC2Init(TIM3, &TIM3_OCInitStructure);
  TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable);
  TIM_Cmd(TIM3,ENABLE); //啟動定時器3 TIM3_CR1[0]=1; 
} 

    SysTick_Config(72000);   //配置SYSTICK時鐘節拍為1ms一次


  while(1){
  Delay(1);  //延時1ms  
TIM3_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;  //PWM模式2 
  TIM3_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;  //輸出禁止        
  TIM3_OCInitStructure.TIM_Pulse = CCR2_Val;  //確定占空比
  TIM3_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; 
  TIM_OC2Init(TIM3, &TIM3_OCInitStructure);
 
  /*調整CCR2_Val的值來改變占空比,逐步的控制LED1的亮度, 占空比大過一定值時,
亮度的變化就不明顯了,所以CCR2_VAL最大設定到17000*/
if(a==0) CCR2_Val=CCR2_Val+10;  
else CCR2_Val=CCR2_Val-10;
if(CCR2_Val>17000){ CCR2_Val=17000; a=1;}  
else if(CCR2_Val<200){ CCR2_Val=200; a=0;} 
   } 

 

 
關閉窗口
主站蜘蛛池模板: 国产日屁| 欧美一级欧美一级在线播放 | 91麻豆精品国产91久久久资源速度 | 日韩欧美精品一区 | 丝袜美腿一区二区三区 | 97超在线视频 | 中文av在线播放 | 国产一区二区三区在线免费观看 | 日韩一级黄色片 | 夜夜精品浪潮av一区二区三区 | 中文字幕一区在线观看视频 | 美美女高清毛片视频免费观看 | 日韩视频在线免费观看 | 国产精品1区 | 精品国产99 | 九九亚洲 | 自拍偷拍视频网 | 亚洲自拍偷拍免费视频 | 求毛片 | 日韩在线精品强乱中文字幕 | 夜夜骑综合 | 天天操天天射天天 | 精品欧美乱码久久久久久 | 国产精品久久久久久久久久久久午夜片 | 成人免费视频一区二区 | 欧美一级在线 | 四虎影院在线观看av | 亚洲欧美综合网 | 欧美日在线| 久久精品中文字幕 | 天堂av中文 | 波多野结衣亚洲 | 欧美极品视频在线观看 | 精品一区二区三区不卡 | 亚洲国产成人精品女人 | 久草在线 | 亚洲精视频| 岛国av免费看| 日本电影网站 | 欧美日韩三级 | 国产精品久久久久久久久免费桃花 |