新手上路
- 积分
- 27
- 金钱
- 27
- 注册时间
- 2017-12-8
- 在线时间
- 6 小时
|
1金钱
TIM_TimeBaseInitStructure.TIM_Period=2400;
TIM_TimeBaseInitStructure.TIM_Prescaler=0;
TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_CenterAligned1;
TIM_TimeBaseInitStructure.TIM_RepetitionCounter = 0;
TIM_TimeBaseInit(TIM1,&TIM_TimeBaseInitStructure);
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse =800;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset;
TIM_OC1Init(TIM1,&TIM_OCInitStructure);
TIM_OC1PreloadConfig(TIM1,TIM_OCPreload_Enable);
配置后可以正常输出PWM,然后我想延时一段时间之后,强制此通道变为高电平或者低电平,通过如下配置:
TIM_ForcedOC1Config(TIM1, TIM_ForcedAction_InActive);来改写寄存器TIM1_CCMR1中的OC1M=4高电平(5低电平),发现PWM还是正常输出,没有变成高电平或者低电平。有没有大神遇到过这个问题的啊?
|
|