×
嵌入式 > 技术百科 > 详情

STM8S TIM2 输出PWM初始化函数

发布时间:2020-12-25 发布时间:
|

参考网上例程总结出初始化函数


#define TIM2_CLK 16000000 

void  timer2_Init(char channal, ulong hz,int pwm)

{



    TIM2_ARRH = (TIM2_CLK/hz)/256;

    TIM2_ARRL = (TIM2_CLK/hz)%256;

    switch (channal)

    {

    case 1:{

         TIM2_CCMR1 |= 0x70;

         TIM2_CCER1 |= 0x03;      //通道1使能,低电平有效,配置为输出

         TIM2_CCR1H = (((TIM2_CLK/hz)*pwm)/1000)/256;

         TIM2_CCR1L = (((TIM2_CLK/hz)*pwm)/1000)%256;

         break;

      }

    case 2:{

         TIM2_CCMR2 |= 0x70;

         TIM2_CCER1 |= 0x30;      //通道2

         TIM2_CCR2H = (((TIM2_CLK/hz)*pwm)/1000)/256;

         TIM2_CCR2L = (((TIM2_CLK/hz)*pwm)/1000)%256;

         break;

      }

    case 3:{

         TIM2_CCMR3 |= 0x70;       //01110000

         TIM2_CCER2 |= 0x03;     //通道3

         TIM2_CCR3H = (((TIM2_CLK/hz)*pwm)/1000)/256;

         TIM2_CCR3L = (((TIM2_CLK/hz)*pwm)/1000)%256;

         break;

      }

    }

    //TIM2_CCMR3 |= 0X04;     //输出比较3预装载使能

    TIM2_PSCR = 0;

    TIM2_CR1 = TIM2_CR1 | 0x01;

}

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ZigBee技术语音图像无线监控系统的设计与实现