原子哥请进,关于TIM2完全重映射后PWM的CH1和PWM的CH2没有输出

2019-08-14 07:19发布

TIM2完全重映射后PWM的CH1和PWM的CH2没有输出,CH3,CH4正常输出了。

代码如下:
 RCC->APB2ENR|=1;   //开AFIO时钟使能
 AFIO->MAPR|=0X04<<24;  //关闭JTAG-DP,SW-DP
 AFIO->MAPR|=0X03<<8;  //全部重定义TIM2  RCC->APB1ENR|=0X0F;       //TIM2 3 4 5时钟使能
 RCC->APB2ENR|=1<<11;       //TIM1时钟使能
 RCC->APB2ENR|=1<<13;       //TIM8时钟使能
 RCC->APB2ENR|=1<<2;     //使能PORTA时钟
 RCC->APB2ENR|=1<<3;     //使能PORTB时钟   
 RCC->APB2ENR|=1<<4;     //使能PORTC时钟   
 GPIOA->CRL&=0X00FF0000;//PA7 6 PA0-3输出
 GPIOA->CRL|=0XBB00BBBB;//复用功能输出 (复用功能推挽输出模式,最大速度50MHz)
 GPIOA->ODR|=11001111;//PA7 6 PA0-3上拉  GPIOA->CRH&=0X0FFF0000;//PA15 PA8-11输出
 GPIOA->CRH|=0XBF00BBBB;//复用功能输出 (复用功能推挽输出模式,最大速度50MHz)
 GPIOA->ODR|=1000111111001111;//PA15 PA6-11 PA0-3上拉  GPIOB->CRL&=0X00FF0F00;//PB0 1 3 6 7输出
 GPIOB->CRL|=0XBB00B0BB;//复用功能输出 (复用功能推挽输出模式,最大速度50MHz)
 GPIOB->ODR|=11001011;//PB1 PB0上拉
 GPIOB->CRH&=0XFFFF0000;//PB8-11输出
 GPIOB->CRH|=0X0000BBBB;//复用功能输出 (复用功能推挽输出模式,最大速度50MHz)
 GPIOB->ODR|=0X3F<<6;//PB6-11 上拉   GPIOC->CRL&=0X00FFFFFF;//PC6 7输出
 GPIOC->CRL|=0XBB000000;//复用功能输出 (复用功能推挽输出模式,最大速度50MHz)
 GPIOC->ODR|=0X03<<6;//PC6 7上拉   GPIOC->CRH&=0XFFFFFF00;//PC8 9输出
 GPIOC->CRH|=0X000000BB;//复用功能输出 (复用功能推挽输出模式,最大速度50MHz)
 GPIOC->ODR|=0X03;//PB8 9 上拉   TIM8->ARR=arr;//设定计数器自动重装值
 TIM8->SC=psc;//预分频器不分频  TIM5->ARR=arr;//设定计数器自动重装值
 TIM5->SC=psc;//预分频器不分频  TIM4->ARR=arr;//设定计数器自动重装值
 TIM4->SC=psc;//预分频器不分频  TIM3->ARR=arr;//设定计数器自动重装值
 TIM3->SC=psc;//预分频器不分频
 
 TIM2->ARR=arr;//设定计数器自动重装值
 TIM2->SC=psc;//预分频器不分频  TIM1->ARR=arr;//设定计数器自动重装值
 TIM1->SC=psc;//预分频器不分频  TIM1->CCMR1|=0X6464;  //CH2 PWM1模式,CH2预装载使能,CH1 PWM1模式,CH1预装载使能
 TIM1->CCMR2|=0X6464;  //CH3 PWM1模式,CH3预装载使能,CH4 PWM4模式,CH4预装载使能  TIM2->CCMR1|=0X6464;  //CH2 PWM1模式,CH2预装载使能,CH1 PWM1模式,CH1预装载使能
 TIM2->CCMR2|=0X6464;  //CH3 PWM1模式,CH3预装载使能,CH4 PWM4模式,CH4预装载使能  TIM3->CCMR1|=0X6464;  //CH2 PWM1模式,CH2预装载使能,CH1 PWM1模式,CH1预装载使能
 TIM3->CCMR2|=0X6464;  //CH3 PWM1模式,CH3预装载使能,CH4 PWM4模式,CH4预装载使能  TIM4->CCMR1|=0X6464;  //CH2 PWM1模式,CH2预装载使能,CH1 PWM1模式,CH1预装载使能
 TIM4->CCMR2|=0X6464;  //CH3 PWM1模式,CH3预装载使能,CH4 PWM4模式,CH4预装载使能  TIM5->CCMR1|=0X6464;  //CH2 PWM1模式,CH2预装载使能,CH1 PWM1模式,CH1预装载使能
 TIM5->CCMR2|=0X6464;  //CH3 PWM1模式,CH3预装载使能,CH4 PWM4模式,CH4预装载使能  TIM8->CCMR1|=0X6464;  //CH2 PWM1模式,CH2预装载使能,CH1 PWM1模式,CH1预装载使能
 TIM8->CCMR2|=0X6464;  //CH3 PWM1模式,CH3预装载使能,CH4 PWM4模式,CH4预装载使能  TIM1->CCER|=0X1111;   //OC1-4 输出使能
 TIM2->CCER|=0X1111;   //OC1-4 输出使能
 TIM3->CCER|=0X1111;   //OC1-4 输出使能
 TIM4->CCER|=0X1111;   //OC1-4 输出使能
 TIM5->CCER|=0X1111;   //OC1-4 输出使能
 TIM8->CCER|=0X1111;   //OC1-4 输出使能  TIM1->CR1=0x8000;   //ARPE使能
 TIM1->CR1|=0x01;    //使能定时器1              TIM2->CR1=0x8000;   //ARPE使能
 TIM2->CR1|=0x01;    //使能定时器2              TIM3->CR1=0x8000;   //ARPE使能
 TIM3->CR1|=0x01;    //使能定时器3              TIM4->CR1=0x8000;   //ARPE使能
 TIM4->CR1|=0x01;    //使能定时器4              TIM5->CR1=0x8000;   //ARPE使能
 TIM5->CR1|=0x01;    //使能定时器5              TIM8->CR1=0x8000;   //ARPE使能
 TIM8->CR1|=0x01;    //使能定时器8            

目前有两个问题
第一:TIM2完全重映射后PWM的CH1和PWM的CH2没有输出
第二:TIM1和TIM8也没有PWM输出
我用的时103RCT6
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。