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

stm32G474 HRTimA和hrtimB给相同的比较值,但是TA正常,TB出现了丢波的情况

[复制链接]
xcm666666 提问时间:2025-7-8 15:52 / 未解决

IMG_20250626_222202.jpg

收藏 评论14 发布时间:2025-7-8 15:52

举报

14个回答
xcm666666 回答时间:2025-7-9 19:06:38

HyunYong 发表于 2025-7-9 18:05
![e69b16ca051a62e61b7a0fb148cd50b3.jpg](data/attachment/forum/202507/09/180450c1jht54jbsfo6ot1.j ...

[md]image.png

这两个忘记在timb的设置里面使能了,没想到会引起这样的现象,感谢帮忙debug的佬们

image.png
xcm666666 回答时间:2025-7-8 15:54:09

紫色的是ta1,波形正常,黄色的是tb1,出现了一个pwm周期未被置位

xmshao 回答时间:2025-7-8 17:54:32

你这个问题,可能要结合你具体代码来分析。

xcm666666 回答时间:2025-7-8 20:47:53

xmshao 发表于 2025-7-8 17:54
你这个问题,可能要结合你具体代码来分析。

void HAL_HRTIM_RepetitionEventCallback(HRTIM_HandleTypeDef *hhrtim, uint32_t TimerIdx)//20kHz中断 { if (TimerIdx == HRTIM_TIMERINDEX_TIMER_A) { HAL_HRTIM_WaveformOutputStart(&hhrtim1,HRTIM_OUTPUT_TA1 | HRTIM_OUTPUT_TA2 | HRTIM_OUTPUT_TB1 | HRTIM_OUTPUT_TB2 | HRTIM_OUTPUT_TC1 | HRTIM_OUTPUT_TC2); //HAL_HRTIM_WaveformOutputStart(&hhrtim1,HRTIM_OUTPUT_TB1 | HRTIM_OUTPUT_TB2);

hhrtim1.Instance->sTimerxRegs[0].CMP1xR = SPWM_400[i]; hhrtim1.Instance->sTimerxRegs[0].CMP3xR =SPWM_400[399-i];

hhrtim1.Instance->sTimerxRegs[1].CMP1xR = SPWM_400[i]; hhrtim1.Instance->sTimerxRegs[1].CMP3xR = SPWM_400[399-i];

} }

xcm666666 回答时间:2025-7-8 20:48:28

xmshao 发表于 2025-7-8 17:54
你这个问题,可能要结合你具体代码来分析。

一模一样的正弦表

butterflyspring 回答时间:2025-7-9 09:44:51
建议只测试发波这段代码,去掉其他功能代码试试。

排除其他软件误操作的可能。

HyunYong 回答时间:2025-7-9 14:03:11

用cubeMX试一下,配置好以后 在初始化的位置初始化HR TA TB三个定时器

然后初始化TA TB的引脚 再看看是否有问题,先排除开发平台的问题

cubemx配置完没问题以后,用cubemx生成的初始化代码和你自己写的代码做比较

看看哪个地方出了问题

我以前出过问题 丢波/波形不稳定的原因是为了动态调整占空比 把初始化带着数值设置部分一起放进了循环体 频繁的在循环体内去初始化就会导致问题发生,当时是用了延迟的方案给足时间去初始化

然后就是单纯调用设置数值的部分

xcm666666 回答时间:2025-7-9 14:36:19

butterflyspring 发表于 2025-7-9 09:44
建议只测试发波这段代码,去掉其他功能代码试试。</p>
<p>排除其他软件误操作的可能。

试过了,还是丢波。a是正常的,b和c都丢波其他的没试过

xcm666666 回答时间:2025-7-9 14:48:07

HyunYong 发表于 2025-7-9 14:03
用cubeMX试一下,配置好以后 在初始化的位置初始化HR TA TB三个定时器</p>
<p>然后初始化TA TB的引脚 再看看 ...

我用的就是cubmx配置的,出现了这个问题,我试了,a是没问题的,但是b和c都有问题,其他的就没试了

HyunYong 回答时间:2025-7-9 17:46:45

xcm666666 发表于 2025-7-9 14:48</p>
<p>我用的就是cubmx配置的,出现了这个问题,我试了,a是没问题的,但是b和c都有问题,其他的就没试了

[md]第一次见到这样的问题,我之前在用HRT和TA TB做移相的时候也没出过这种问题

查一下循环体,有没有什么重复初始化的东西 偶尔某一瞬间没跟上导致丢波的

有没有试过新建工程去配置 而不是在原来的工程去修改

HyunYong 回答时间:2025-7-9 18:05:29

e69b16ca051a62e61b7a0fb148cd50b3.jpg

我上传了两个附件 一个是利用HRT 和TA TB定时器所对应的引脚出了两个200khz 50占空比的波形,如图所示,看一下是否对你有帮助

e69b16ca051a62e61b7a0fb148cd50b3.jpg

HRTEST.zip

下载

28.21 MB, 下载次数: 0, 下载积分: ST金币 -1

HyunYong 回答时间:2025-7-9 18:07:11

HyunYong 发表于 2025-7-9 18:05
![e69b16ca051a62e61b7a0fb148cd50b3.jpg](data/attachment/forum/202507/09/180450c1jht54jbsfo6ot1.j ...

[md]这个工程文件是基于STM32G474RET6芯片所使用的 不是ST的开发板 淘宝买的那种

可以在自己的工程文件看一下 看我的文件中TA TB引脚所在的位置是否和自己的一样 一样的话直接仿真就可以,单纯测测丢不丢波

如果还是丢波 那就是硬件问题了

HyunYong 回答时间:2025-7-9 18:10:55

HyunYong 发表于 2025-7-9 18:07</p>
<p>[md]这个工程文件是基于STM32G474RET6芯片所使用的

[md]或者把问题和文件发邮箱给[email]mcu.china@st.com[/email] 会有人答复的 很快哈哈哈

xcm666666 回答时间:2025-7-9 19:01:10

已经解决了,timB的预装载和重复更新寄存器未在cubmx里面使能‘’

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版