金牌会员
 
- 积分
- 2814
- 金钱
- 2814
- 注册时间
- 2012-10-17
- 在线时间
- 653 小时
|

楼主 |
发表于 2016-3-9 17:45:10
|
显示全部楼层
救命阿~~一堆怪怪問題...我的TIM2才 enable CC3I 然後 發現中斷都會連進2次
void TIM2_PWM_Init(u32 arr, u32 psc)
{
RCC->APB1ENR|=7<<0; //enable TIM2 TIM3 TIM4 clk
RCC->AHB1ENR|=1<<1; //enable PORTB clk
GPIO_Set(GPIOB,PIN10,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);
GPIO_AF_Set(GPIOB,10,1); //PB10 AF1 TIM2_CH3
TIM2->CR2=2<<4; //UI TRGO
TIM2->ARR = arr;
TIM2->PSC = psc;
TIM2->CCR3= arr*0.5; //D=0.5
TIM2->CCMR2 |= 7<<4; //PWM mode CNT<CCR output=effective Level, CNT>CCR output=invalid Level
TIM2->CCER |= 1<<8; //enable OC3 output
TIM2->CCER |= 0<<9; //OC3 polarity High Level effective
TIM2->DIER |= 1<<3; //ebable CC3I
MY_NVIC_Init(1,3,TIM2_IRQn ,2);
}
void TIM2_IRQHandler(void)
{
PCout(7)=~PCout(7); <===看示波器都在TIMCH3的上升沿之後 連續反轉2次
TIM2->SR = 0; //clear
} |
|