OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3128|回复: 1

stm32pwm设置周期与实际周期不一样?

[复制链接]

40

主题

150

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6302
金钱
6302
注册时间
2015-7-18
在线时间
456 小时
发表于 2017-9-18 11:08:07 | 显示全部楼层 |阅读模式
1金钱
配置了pwm输出周期为10ms,占空比为50%,软件仿真时发现占空比波形是对的,但是周期只有6.667ms,这是为什么?





































  TIM_Cmd(TIM2,ENABLE);    TIM_ARRPreloadConfig(TIM2,  ENABLE);  //使能定时器8      TIM_OCInitStructure.TIM_OutputState =TIM_OutputState_Enable;  TIM_OC2PreloadConfig(TIM2,TIM_OCPreload_Enable); //改变占空比后,立即产生效应    TIM_OC2Init(TIM2,&TIM_OCInitStructure);    //PWM_L初始化     //TIM_OCInitStructure.TIM_OCNIdleState=TIM_OCNIdleState_Reset;   //TIM_OCInitStructure.TIM_OCIdleState=TIM_OCIdleState_Set;   TIM_OCInitStructure.TIM_OCNPolarity=TIM_OCPolarity_High;//互补输出极性为高电平  //TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_Low; //输出极性为低电平  TIM_OCInitStructure.TIM_Pulse =360;//设置占空比  //TIM_OCInitStructure.TIM_OutputNState =TIM_OutputState_Disable;//使能反向通道  TIM_OCInitStructure.TIM_OutputState =TIM_OutputState_Enable;//使能正向通道  TIM_OCInitStructure.TIM_OCMode =TIM_OCMode_PWM1;//输出PWM,选择模式  //输出比较模式设置,用于4路PWM输出    TIM_TimeBaseInit(TIM2,&TIM_TimeBaseInitStructrue);//根据TIM_TimeBaseInitStruct中指定的参数初始化TIMx的时间基数单位    //TIM_TimeBaseInitStructrue.TIM_RepetitionCounter =0x0000;  TIM_TimeBaseInitStructrue.TIM_CounterMode =TIM_CounterMode_Up;//TIM向上计数模式  TIM_TimeBaseInitStructrue.TIM_ClockDivision =0;//设置时钟分割:TDTS:Tck_tim  TIM_TimeBaseInitStructrue.TIM_Prescaler =999;//72000000/4000=18K  设置用来作为TIMx时钟频率除数的预分频值  TIM_TimeBaseInitStructrue.TIM_Period =719;//18K/144=125Hz,这个是电机PWM的频率,设置在下一个更新事件    GPIO_Init(GPIOA,&GPIO_InitStructure);  GPIO_InitStructure.GPIO_Speed =GPIO_Speed_50MHz;  GPIO_InitStructure.GPIO_Mode =GPIO_Mode_AF_PP;    GPIO_InitStructure.GPIO_Pin =GPIO_Pin_1;  //时间基初始化  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE);//使能外设时钟   GPIO_InitTypeDef GPIO_InitStructure;//声明io结构体  TIM_OCInitTypeDef TIM_OCInitStructure;TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructrue;

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

40

主题

150

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6302
金钱
6302
注册时间
2015-7-18
在线时间
456 小时
 楼主| 发表于 2017-9-18 11:08:08 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-19 01:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表