久久久久久久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;} 
   } 

 

 
關閉窗口
主站蜘蛛池模板: 国内精品久久久久久影视8 最新黄色在线观看 | 自拍偷拍中文字幕 | 不卡一区二区三区四区 | 日韩另类| 在线观看视频福利 | 91麻豆精品国产91久久久久久 | 国产一区二区三区在线免费观看 | 日韩精品免费在线观看 | 精国产品一区二区三区四季综 | 国产精品国产精品 | 亚洲一区亚洲二区 | 在线欧美日韩 | 亚洲综合日韩精品欧美综合区 | 亚洲精品久久久蜜桃网站 | 精品美女久久久 | 在线黄| 成人免费大片黄在线播放 | 国产欧美一区二区精品久导航 | 亚洲人人 | 天天爽一爽 | 精品欧美一区二区三区久久久 | 国产精品99久久久久久动医院 | 精品在线99 | 91精品国产91久久久久游泳池 | 日韩欧美大片在线观看 | 国产精品久久久久aaaa九色 | 亚洲欧洲激情 | 四虎精品在线 | av中文字幕在线观看 | 中文字幕在线看 | 91在线网站 | 久久伊 | 久久精品久久久 | 久久久免费 | 久久久精品视频免费看 | 亚洲欧美一区二区三区在线 | 日本一区二区在线视频 | 国产精品视频一区二区三区, | 日韩精品一区二区三区中文在线 | 视频一区 亚洲 | 久久综合激情 |