stm8 tim1 pwm互补问题

2019-07-19 20:52发布

void TIM1_PWM_init()
{
  GPIO_Init(GPIOC, GPIO_PIN_3, GPIO_MODE_OUT_PP_HIGH_FAST);
  GPIO_Init(GPIOC, GPIO_PIN_4, GPIO_MODE_OUT_PP_HIGH_FAST);
  GPIO_Init(GPIOC, GPIO_PIN_6, GPIO_MODE_OUT_PP_HIGH_FAST);
  GPIO_Init(GPIOC, GPIO_PIN_7, GPIO_MODE_OUT_PP_HIGH_FAST);


  CLK->PCKENR1 |=0X80;                         //使能TIME1时钟源
     TIM1->EGR   |=0X01;                          //初始化计数器,产生更新事件
     TIM1->RCR    =0X00;                          //关闭计数器
//=======================================================开启时钟、关闭计数器
     TIM1->SMCR   =0X00;
     TIM1->ETR    =0X00;                          //使用内部Fmaster时钟,16M
     TIM1->PSCRH  =0X00;
     TIM1->PSCRL  =0X02;                          //2分频
     TIM1->ARRH   =0x00;
     TIM1->ARRL   =Cycle_50us;                    //重装值   -->50us/次
     TIM1->RCR    =0X00;                          //重复计数0
     TIM1->CR1    =0X00;                          //向上计数
//=======================================================时基单元
//通道1    CH1 输出    CH1N禁止输出
     TIM1->CCMR1  =0x70;                          //PWM模式2,CC1通道配置为输出
     TIM1->CCR1H  =0X00;
     TIM1->CCR1L  =Cycle_50us>>1;                 //占空比
     TIM1->CCER1 |=0X03;                          //CC1配置为输出,低电平有效  
//通道2
     TIM1->CCMR2  =0X70;
     TIM1->CCR2H  =0X00;
     TIM1->CCR2L  =Cycle_50us>>1;
     TIM1->CCER1 |=(1<<5)|(1<<4);
//通道3
     TIM1->CCMR3  =0X70;
     TIM1->CCR3H  =0X00;
     TIM1->CCR3L  =Cycle_50us>>1;
     TIM1->CCER2 |=(1<<1)|(1<<0);
//通道4
     TIM1->CCMR4  =0X70;
     TIM1->CCR4H  =0X00;
     TIM1->CCR4L  =Cycle_50us>>1;
     TIM1->CCER2  |=(1<<5)|(1<<4);

     
     TIM1->BKR    =0X80;        //静止刹车   
     TIM1->CR1   |=0X01;        //使能时钟源
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
有个脚落
1楼-- · 2019-07-20 00:43
 精彩回答 2  元偷偷看……
有个脚落
2楼-- · 2019-07-20 03:38
 精彩回答 2  元偷偷看……
烟酒不沾
3楼-- · 2019-07-20 05:28
配置字节没有设置好!
有个脚落
4楼-- · 2019-07-20 09:41
 精彩回答 2  元偷偷看……

一周热门 更多>