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

 

 
關閉窗口
主站蜘蛛池模板: 日韩视频在线一区 | 五月婷婷 六月丁香 | 成人免费视频观看视频 | 欧美一二三 | 黄色小视频入口 | 日韩欧美中文 | 欧美aaa级 | 午夜视频免费在线观看 | 国产成人精品a视频一区www | 久久青 | 中文字幕亚洲专区 | 国产精品入口久久 | 日本手机在线 | 国产欧美日韩二区 | 青青草综合网 | 久久久久久久久久久久久久av | 精品国产伦一区二区三区观看体验 | 亚洲精品久久久一区二区三区 | 一级欧美| 亚洲444eee在线观看 | 欧美专区日韩专区 | 成人av一区 | 视频一区中文字幕 | 99精品一区二区 | 国产精品国产精品 | 国产一区二区三区在线免费观看 | 国产在线观看福利 | 在线视频 欧美日韩 | 欧美日韩在线看 | 狠狠干五月天 | 亚洲视频欧美视频 | 欧美一级片在线播放 | 丁香婷婷在线视频 | 伊人网在线播放 | 一区二区三区中文字幕 | 成人黄色网址大全 | 欧美一级片在线看 | 97人人澡人人爽91综合色 | 久久久久久国产精品三区 | 欧美黄色片 | 综合久久99 |