打印
[STM32F0]

CCER寄存器的CC1E位一直在变

[复制链接]
649|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wenfen|  楼主 | 2021-1-4 22:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使能通道1TIM_CCxCmd(TIM1, TIM_Channel_1, TIM_CCx_Enable)后

使用特权

评论回复
沙发
lizye| | 2021-1-4 22:24 | 只看该作者
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
板凳
wenfen|  楼主 | 2021-1-4 22:27 | 只看该作者

TIM1配置:
void TIM_PWM_Config(void)
{
TIM_TimeBaseInitTypeDef TIM_InitStruct;
TIM_OCInitTypeDef       TIM_OCInitStruct;
TIM_BDTRInitTypeDef     TIM_BDTRInitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_TIM1, ENABLE);
TIM_DeInit(TIM1);

TIM_InitStruct.TIM_Period             = period;
TIM_InitStruct.TIM_Prescaler          = 0;
TIM_InitStruct.TIM_CounterMode        = TIM_CounterMode_Up;
TIM_InitStruct.TIM_ClockDivision      = TIM_CKD_DIV1;
TIM_InitStruct.TIM_RepetitionCounter  = 0;
TIM_TimeBaseInit(TIM1,&TIM_InitStruct);
TIM_ARRPreloadConfig(TIM1,ENABLE);

  TIM_OCInitStruct.TIM_OCMode           = TIM_OCMode_PWM1;
TIM_OCInitStruct.TIM_OutputState      = TIM_OutputState_Enable;
TIM_OCInitStruct.TIM_OutputNState   = TIM_OutputNState_Enable;
TIM_OCInitStruct.TIM_Pulse       = duty;
TIM_OCInitStruct.TIM_OCPolarity     = TIM_OCPolarity_High;
TIM_OCInitStruct.TIM_OCNPolarity    = TIM_OCNPolarity_Low;
TIM_OCInitStruct.TIM_OCIdleState    = TIM_OCIdleState_Reset;
TIM_OCInitStruct.TIM_OCNIdleState    = TIM_OCNIdleState_Set;

TIM_OC1Init(TIM1,&TIM_OCInitStruct);
TIM_OC2Init(TIM1,&TIM_OCInitStruct);
TIM_OC3Init(TIM1,&TIM_OCInitStruct);

// TIM_BDTRInitStructure.TIM_OSSRState=TIM_OSSRState_Enable;
// TIM_BDTRInitStructure.TIM_OSSIState=TIM_OSSIState_Enable;
// TIM_BDTRInitStructure.TIM_LOCKLevel = TIM_LOCKLevel_OFF;
// TIM_BDTRInitStructure.TIM_DeadTime=0x00;
// TIM_BDTRInitStructure.TIM_Break=TIM_Break_Disable;
// TIM_BDTRInitStructure.TIM_AutomaticOutput=TIM_AutomaticOutput_Enable;
// TIM_BDTRConfig(TIM1,&TIM_BDTRInitStructure);

TIM_OC1PreloadConfig(TIM1,TIM_OCPreload_Enable);
TIM_OC2PreloadConfig(TIM1,TIM_OCPreload_Enable);
TIM_OC3PreloadConfig(TIM1,TIM_OCPreload_Enable);
// TIM_ClearITPendingBit(TIM1,TIM_IT_CC1);
TIM_Cmd(TIM1,ENABLE);
TIM_CCPreloadControl(TIM1,DISABLE);
TIM_CtrlPWMOutputs(TIM1,ENABLE);

}

使用特权

评论回复
地板
gongche| | 2021-1-4 22:31 | 只看该作者
那你用示波器看后,实际波形有没有变呢?

使用特权

评论回复
5
huwr| | 2021-1-4 22:36 | 只看该作者
可能你程序哪里一直在更新吧;

使用特权

评论回复
6
yufe| | 2021-1-4 22:39 | 只看该作者
没看明白

使用特权

评论回复
7
wenfen|  楼主 | 2021-1-4 22:42 | 只看该作者
实际波形周期从167us变成2.8us

使用特权

评论回复
8
wenfen|  楼主 | 2021-1-4 22:53 | 只看该作者
TIM_CCPreloadControl(TIM1,DISABLE);改成ENABLE 后正常,但是TIM_CCxCmd(TIM1, TIM_Channel_1, TIM_CCx_Disable);无法关闭通道1比较输出

使用特权

评论回复
9
zwll| | 2021-1-4 22:53 | 只看该作者
这个标志位代表的是什么呢

使用特权

评论回复
10
llljh| | 2021-1-4 22:57 | 只看该作者
这是不是一个使能位呀

使用特权

评论回复
11
wenfen|  楼主 | 2021-1-4 23:00 | 只看该作者

我再好好缕一缕吧,有了好消息及时通知大家

使用特权

评论回复
12
wowu| | 2021-2-1 22:53 | 只看该作者
产什么什么不好的后果了吗

使用特权

评论回复
13
xiaoqizi| | 2021-2-1 22:56 | 只看该作者
周期为什么会变化这么多啊

使用特权

评论回复
14
木木guainv| | 2021-2-1 23:00 | 只看该作者
非常正常啊  在调试的过程中就是一直在变化的 但是不需要太过在意

使用特权

评论回复
15
磨砂| | 2021-2-1 23:03 | 只看该作者
不要在调试过程中看寄存器的值  那个没有什么参考性

使用特权

评论回复
16
晓伍| | 2021-2-1 23:05 | 只看该作者
这个寄存器是干什么用的呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

737

主题

8940

帖子

8

粉丝