OpenEdv-开源电子网

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

F4 hal 定时器级联输出以输出固定脉冲数的PWM配置问题

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2020-12-29
在线时间
1 小时
发表于 2020-12-29 11:58:24 | 显示全部楼层 |阅读模式
1金钱
用STM32F407VE芯片,需求输出固定脉冲数PWM,由于脉冲数在1024-65536,查询相关资料打算用定时器级联输出PA3  TIM2_CH4用于输出PWM PA6 TIM3用于控制 按照理解是不是需要TIM2作主 TIM3作从接收TIM2脉冲,达到设定数量后由TIM3停止TIM2,还是说是TIM3作主,TIM2作从?
CUBE配置如图 TIM3.PNG TIM2_PWM.PNG TIM2配置.PNG
通过如下代码实现pwm的输出
  1. static uint8_t READY_FLAG = 0;

  2. void set_ready_flag(void)
  3. {
  4.   READY_FLAG = 1;
  5. }

  6. void PWM_START(uint32_t cnt)
  7. {
  8.   if(READY_FLAG == 1)
  9.   {
  10.     __HAL_TIM_SET_AUTORELOAD(&htim3, cnt);

  11.     HAL_TIM_Base_Start_IT(&htim3);

  12.     HAL_TIM_PWM_Start_IT(&htim2)
  13.   }
  14. }

  15. void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
  16. {
  17.   READY_FLAG = 0;
  18.   if(htim->instance == TIM3)
  19.   {
  20.     if(__HAL_TIM_GET_FLAG(&htim3, TIM_FLAG_CC1) != RESET)
  21.     {
  22.       __HAL_TIM_CLEAR_FLAG(&htim3, TIM_FLAG_CC1);
  23.       HAL_TIM_PWM_Stop_IT(&htim2, TIM_CHANNEL_4);
  24.       HAL_TIM_Base_Stop_IT(&htim3);
  25.     }
  26.     FLAG_OK = 1;
  27.   }  
  28. }
复制代码


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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2020-12-30 01:58:26 | 显示全部楼层
建议多看看别人代码,cube不是万能的
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-3-1 06:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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