STM32F405 使用TIM1产生PWM时的奇怪问题

2019-07-21 03:00发布

先上代码
[mw_shl_code=c,true]void TIM1_PWM_init(u16 arr,u16 psc) { RCC->AHB1ENR|=1<<0; //??PA?±?? GPIO_set(GPIOA,PIN8,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_100M,GPIO_PUPD_NONE);//PA8?????????????ì??????100M?????????? GPIO_AF_set(GPIOA,8,1);//°?PA8???????¨?±?÷1 RCC->APB2ENR|=1<<0; //??TIM1?±?? TIM1->ARR=arr; TIM1->SC=psc; TIM1->CCMR1&=~(0X07<<4); TIM1->CCMR1|=0X06<<4;//PWM????1 TIM1->CCMR1|=1<<3;//?¤×°?????? TIM1->CR1|=1<<7;//×???×°?????? TIM1->CR1|=1<<4;//?ò?????????? TIM1->CCER&=~(1<<1);//?????????§ TIM1->CCER|=1<<0;//PWM???????? TIM1->BDTR|=1<<15;//????OC OCN TIM1->CCR1=100; TIM1->EGR|=1<<0;//???????ù???????÷ TIM1->CR1|=1<<0;//??TIM1?¨?±?÷ }[/mw_shl_code] 这是输出波形

放大后频率,占空比都很正常,但是把时基调成2.5ms就会看到上面的波形,这是什么原因呢?而且那个空隙很有规律会随着PSC的变化而变化,这是什么原因呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
q872529868
1楼-- · 2019-07-21 05:13
上面那个问题已经解决了,原因,开发板用的是有源晶振,要把HSE旁路才行。但是现在问题有出来了,频率不准,我是这样设的Stm32_Clock_Init(336,25,2,7);25M的晶振不知道对不对。
q872529868
2楼-- · 2019-07-21 09:21
 精彩回答 2  元偷偷看……

一周热门 更多>