你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

st-img
chrome
st-img
firefox
st-img
safari
st-img
ie8及以上
shequ.stmicroelectronics.cn
  • ST意法半导体官网
  • STM32中文官网
  • ST全球论坛
登录/注册
  • 首页
  • 技术问答
  • 话题
  • 资源
  • 创客秀
  • 视频
  • 标签
  • 积分商城
  • 每日签到
zhahl

zhahl

 

回答数 0 关注数 0
关注 私信
  • 动态99
  • 提问
  • 回答0
  • 创客秀 0
  • 分享 0
  • 关注0
6 回答

STM32f103 tim1 PWM 求助

未设置标签
shuolang126 shuolang126 回答时间: 2016-12-24 08:38

  /* System Clocks Configuration */   RCC_Configuration();   /* GPIO Configuration */   GPIO_Configuration();   /* TIM1 Configuration ---------------------------------------------------    TIM1CLK = SystemCoreClock, Prescaler = 0, TIM1 counter clock = SystemCoreClock    SystemCoreClock is set to 72 MHz for Low-density, Medium-density, High-density    and Connectivity line devices and to 24 MHz for Low-Density Value line and    Medium-Density Value line devices        The objective is to generate 7 PWM signal at 17.57 KHz:      - TIM1_Period = (SystemCoreClock / 17570) - 1    The channel 1 and channel 1N duty cycle is set to 50%    The Timer pulse is calculated as follows:      - ChannelxPulse = DutyCycle * (TIM1_Period - 1) / 100   ----------------------------------------------------------------------- */   /* Compute the value to be set in ARR regiter to generate signal frequency at 17.57 Khz */   TimerPeriod = (SystemCoreClock / 17570 ) - 1;   /* Compute CCR1 value to generate a duty cycle at 50% for channel 1 and 1N */   Channel1Pulse = (uint16_t) (((uint32_t) 5 * (TimerPeriod - 1)) / 10);   /* Time Base configuration */   TIM_TimeBaseStructure.TIM_Prescaler = 0;   TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;   TIM_TimeBaseStructure.TIM_Period = TimerPeriod;   TIM_TimeBaseStructure.TIM_ClockDivision = 0;   TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;   TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);   /* Channel 1 Configuration in PWM mode */   TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2;   TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;   TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;   TIM_OCInitStructure.TIM_Pulse = Channel1Pulse;   TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;   TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;   TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;   TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;   TIM_OC1Init(TIM1, &TIM_OCInitStructure);   /* TIM1 counter enable */   TIM_Cmd(TIM1, ENABLE);   /* TIM1 Main Output Enable */   TIM_CtrlPWMOutputs(TIM1, ENABLE); -------------------------------------------------------------------- 以上是官方例程,请参考! 楼主确实IO初始化和  TIM_CtrlPWMOutputs(TIM1, ENABLE); 不妨试试! 另外,仿真和脱机运行会不一致是正常的!

赞0
zhahl zhahl


阅读作者更多的帖子

所在话题

参与活动

  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16