给摄像头程序寄存器版本,用TIM9输出两路pwm波//psc£oê±ÖóÔ¤·ÖÆμêy
void TIM9_CH2_PWM_Init(u16 arr,u16 psc)
{
RCC->APB2ENR|=1<<16; //TIM9 ê±Öóê1Äü
RCC->AHB1ENR|=1<<0; //ê1ÄüPORTAê±Öó
RCC->AHB1ENR|=1<<4; //ê1ÄüPORTEê±Öó
GPIO_Set(GPIOA,PIN3,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);//PA3,¸′óÃ1|Äü,éÏà-
GPIO_AF_Set(GPIOA,3,3); //PA3,AF3
GPIO_Set(GPIOE,PIN6,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);//PA3,¸′óÃ1|Äü,éÏà-
GPIO_AF_Set(GPIOE,6,3); //PA3,AF3
TIM9->ARR=arr; //é趨¼ÆêyÆ÷×Ô¶ˉÖØ×°Öμ
TIM9->PSC=psc; //Ô¤·ÖÆμÆ÷
TIM9->CCMR1|=6<<12; //CH2 PWM1Ä£ê½
TIM9->CCMR1|=1<<11; //CH2 ԤװÔØê1Äü
TIM9->CCER|=1<<4; //OC2 êä3öê1Äü
TIM9->CCER|=1<<1; //OC1μíμçƽóDD§
TIM9->CR1|=1<<7; //ARPEê1Äü
TIM9->CR1|=1<<0; //ê1Äü¶¨ê±Æ÷9
}
//TIM9 CH1 PWMêä3öéèÖÃ
//PWMêä3ö3õê¼»ˉ
//arr£o×Ô¶ˉÖØ×°Öμ
//psc£oê±ÖóÔ¤·ÖÆμêy
void TIM9_CH1_PWM_Init(u16 arr,u16 psc)////////////
{
RCC->APB2ENR|=1<<16; //TIM9 ê±Öóê1Äü
RCC->AHB1ENR|=1<<0; //ê1ÄüPORTAê±Öó
GPIO_Set(GPIOA,PIN2,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);//PA2,¸′óÃ1|Äü,éÏà-
GPIO_AF_Set(GPIOA,2,3); //PA2,AF3
GPIO_Set(GPIOE,PIN5,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_PU);//PA2,¸′óÃ1|Äü,éÏà-
GPIO_AF_Set(GPIOE,5,3); //PA2,AF3
TIM9->ARR=arr; //é趨¼ÆêyÆ÷×Ô¶ˉÖØ×°Öμ
TIM9->PSC=psc; //Ô¤·ÖÆμÆ÷
TIM9->CCMR1|=6<<4; //CH1 PWM1Ä£ê½
TIM9->CCMR1|=1<<3; //CH2 ԤװÔØê1Äü
TIM9->CCER|=1<<0; //OC1 êä3öê1Äü
TIM9->CCER|=1<<1; //OC1μíμçƽóDD§
TIM9->CR1|=1<<7; //ARPEê1Äü
TIM9->CR1|=1<<0; //ê1Äü¶¨ê±Æ÷9
}
为什么输出的是锯齿波?@正点原子
寄存器版本的定时器时钟如何配置?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
已解决,是有一个GPIO口和其他外设冲突了
一周热门 更多>