<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

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

        用STM32的一個定時器實現輸出兩路頻率1x、2x的方波

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

        /******************************************************************************************
        * 函數名稱    : TIM3_Configuration
        * 功能描述    : TIM3初始化函數
        * 參數        :  無
        * 返回值      :  無
        * 全局變量    :  無
        * 全局靜態變量:  無
        * 局部靜態變量:  無
        ******************************************************************************************/
        void TIM3_Configuration( )
        {  
          GPIO_InitTypeDef          GPIO_InitStructure;
          TIM_TimeBaseInitTypeDef   TIM_TimeBaseStructure;   
          TIM_OCInitTypeDef      TIM_OCInitStructure; 
          
          RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);   //打開APB2外設
          RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);  //開時鐘

          GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;    //PA6 PA7  
          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;   //要改為 AF_PP
          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
          GPIO_Init(GPIOA, &GPIO_InitStructure);
          TIM_DeInit(TIM3);                           //將TIM3寄存器設為缺省值
          TIM_TimeBaseStructure.TIM_Period=72-1;   //ARR的值,計數周期     
          TIM_TimeBaseStructure.TIM_Prescaler=36-1;      //分頻  CK_INT=2MHz 36分頻
          TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上計數模式  
          TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);    //初始化定時器3
         
          //通道1
          TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Toggle  ;
           TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //輸出使能
          TIM_OCInitStructure.TIM_Pulse = 1-1 ;      //待捕獲比較寄存器的值  CRR
          TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;    //高電平有效
          TIM_OC1Init(TIM3, &TIM_OCInitStructure);     //通道初始化
          TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Enable);  //預裝載使能
          
          //通道2
          TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1  ;
           TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //輸出使能
          TIM_OCInitStructure.TIM_Pulse = 36-1 ;      //待捕獲比較寄存器的值  CRR
          TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;    //高電平有效
          TIM_OC2Init(TIM3, &TIM_OCInitStructure);     //通道初始化  
           
          TIM3->CNT = 0;
          TIM_Cmd(TIM3, ENABLE);//打開定時器
              
        }

         
        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮