OpenEdv-开源电子网

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

STM32H7 HRTIM定时器无法启动,请原子哥帮看看

[复制链接]

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2015-4-2
在线时间
10 小时
发表于 2022-6-23 21:37:45 | 显示全部楼层 |阅读模式
本帖最后由 tly823875 于 2022-6-23 21:41 编辑

原子大哥你好!
我用STM32H7 的高精度定时器HRTIM  TIMERA 产生PWM波形的时候,出现定时器TIMERA无法启动的问题。所有配置运行过后直接点击 QQ图片20220623212007.png 启动timerA是能成功启动定时器A的,也产生了正常的PWM波形。
但是通过程序启动timerA就不能启动:HAL_HRTIM_WaveformCounterStart(&hhrtim,HRTIM_TIMERINDEX_TIMER_A);经过跟踪看到的启动代码是:
HAL_StatusTypeDef HAL_HRTIM_WaveformCounterStart(HRTIM_HandleTypeDef * hhrtim,uint32_t Timers)
{
  assert_param(IS_HRTIM_TIMERID(Timers));
  __HAL_LOCK(hhrtim);  
  hhrtim->State = HAL_HRTIM_STATE_BUSY;  
  hhrtim->Instance->sMasterRegs.MCR |= (Timers);
  hhrtim->State = HAL_HRTIM_STATE_READY;
  __HAL_UNLOCK(hhrtim);  
  return HAL_OK;
}

hhrtim->Instance->sMasterRegs.MCR |= (Timers);这句代码就应该是上图timerA的开关,可是传入的Timers参数就是timerA的Index值 为0。强制改成:hhrtim->Instance->sMasterRegs.MCR |1<<17;就能启动timerA。
tly.png QQ图片.png 参考手册上是这样的。启动函数也是hal库里面的,我没有修改。这个如何解释?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

369

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4241
金钱
4241
注册时间
2020-7-24
在线时间
714 小时
发表于 2022-6-24 10:38:30 | 显示全部楼层
回复 支持 反对

使用道具 举报

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2015-4-2
在线时间
10 小时
 楼主| 发表于 2022-6-24 18:25:56 | 显示全部楼层
参数低级错误:HRTIM_TIMERID_TIMER_A   和   HRTIM_TIMERINDEX_TIMER_A搞混淆了
折腾了一天半,晕!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-25 15:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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