STM32F407高级定时器1输出PWM波失败,普通定时器可用

2019-07-20 12:39发布

代码如下:
        RCC->APB2ENR|=1<<1;           //TIM1 ê±&#214;óê1&#196;ü
        RCC->AHB1ENR|=1<<1;           //ê1&#196;üPORTAê±&#214;ó       
        GPIO_Set(GPIOA,PIN9,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);//PA9,&#184;′ó&#195;1|&#196;ü,é&#207;à-
        GPIO_AF_Set(GPIOB,9,1);        //PA9,AF1
        TIM1->ARR=arr;                  //éè&#182;¨&#188;&#198;êy&#198;÷×&#212;&#182;ˉ&#214;&#216;×°&#214;μ   
        TIM1->CCMR1|=6<<12;          //CH2 PWM1&#196;£ê&#189;                 
        TIM1->CCMR1|=1<<11;         //CH2 &#212;¤×°&#212;&#216;ê1&#196;ü               
        TIM1->CCER|=0<<5;   
        TIM1->CCER|=1<<4;           //OC2 ê&#228;3&#246;ê1&#196;ü          
        TIM1->BDTR|=1<<15;     //tim1  TIM1  &#184;&#223;&#188;&#182;&#182;¨ê±&#198;÷μ&#196;&#214;÷&#191;&#216;&#214;&#198;ê&#228;3&#246;
        TIM1->BDTR|=1<<14;
        TIM1->EGR|=1<<0;       //OGê1&#196;ü  3&#245;ê&#188;&#187;ˉ&#188;&#196;′&#230;&#198;÷
        TIM1->CR1|=1<<7;                   //ARPEê1&#196;ü
        TIM1->CCR2=duty;      //
        TIM1->CR1|=1<<0;            //ê1&#196;ü&#182;¨ê±&#198;÷1
        TIM1->BDTR|=1<<15;        

求解释原因
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-07-20 16:16
 精彩回答 2  元偷偷看……
学32407
2楼-- · 2019-07-20 18:33
 精彩回答 2  元偷偷看……
学32407
3楼-- · 2019-07-20 20:45
void TIM1_CH2_PWM_Init(u16 arr,u16 psc,u16 duty)
{                                                          
        RCC->APB2ENR|=1<<1;           //TIM1 时钟使能
        RCC->AHB1ENR|=1<<1;           //使能PORTA时钟       
        GPIO_Set(GPIOA,PIN9,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);//PA9,复用功能,上拉
        GPIO_AF_Set(GPIOB,9,1);        //PA9,AF1
        TIM1->ARR=arr;                  //设定计数器自动重装值   
        TIM1->CCMR1|=6<<12;          //CH2 PWM1模式                 
        TIM1->CCMR1|=1<<11;         //CH2 预装载使能       
        TIM1->CCER|=1<<6;        
        TIM1->CCER|=0<<5;   
        TIM1->CCER|=1<<4;           //OC2 输出使能
        TIM1->BDTR|=1<<15;     //tim1  TIM1  高级定时器的主控制输出
        TIM1->BDTR|=1<<14;
        TIM1->EGR|=1<<0;       //OG使能  初始化寄存器
        TIM1->CR1|=1<<7;                   //ARPE使能
        TIM1->CCR2=duty;      //占空比
        TIM1->CR1|=1<<0;            //使能定时器1
        TIM1->BDTR|=1<<15;                      
}

这是注释
学32407
4楼-- · 2019-07-20 22:43
 精彩回答 2  元偷偷看……

一周热门 更多>