[STM32H7] 产生PWM后关不掉PWM

[复制链接]
1901|13
 楼主| 怪诞新 发表于 2024-7-11 09:13 | 显示全部楼层 |阅读模式
使用定时器产生PWM去控制外部电路,外部电路是模拟电路部分,32输出PWM的IO口跟模拟电路部分用了光耦隔离开,当我要输出PWM时调用了:HAL_TIM_PWM_Start这个函数,然后要关闭PWM,不输出PWM时调用了HAL_TIM_PWM_Stop这个函数,问题就是有时候正常关闭,但有时候调用关闭函数后,出现的现象是PWM还是有波形输出,用示波器测32的IO口和通过光耦输出的引脚,两端都有PWM输出,并没有关掉,PWM产生也没有用中断的方式,直接用定时器计数器产生的,不存在中断干扰,不知道是什么原因导致关不掉PWM输出
可怜的小弗朗士 发表于 2024-7-11 10:15 | 显示全部楼层
是不是其他中断导致这个关闭函数没执行
elephant00 发表于 2024-7-11 15:22 | 显示全部楼层
检查PWM使能位设置是否正确
xionghaoyun 发表于 2024-7-12 07:43 | 显示全部楼层
调出keil tim的监视器
qintian0303 发表于 2024-7-12 08:46 | 显示全部楼层
这个情况要是好复现就比价好找,看看标志位是否正确,然后可以试试关闭定时器能不能关闭
 楼主| 怪诞新 发表于 2024-7-12 12:26 | 显示全部楼层
qintian0303 发表于 2024-7-12 08:46
这个情况要是好复现就比价好找,看看标志位是否正确,然后可以试试关闭定时器能不能关闭 ...

这种情况,小概率事件,正常能关闭,但有时候应该是电磁干扰太强了就32控制不了了
jcky001 发表于 2024-7-12 15:00 | 显示全部楼层
检查中断和DMA
cr315 发表于 2024-7-12 15:00 | 显示全部楼层
试一下软件复位
yiy 发表于 2024-7-13 22:02 | 显示全部楼层
是还有一个周期波形而已吧?这个要等最后一个周期结束才能关闭掉。
sj8zw8 发表于 2024-7-27 14:57 | 显示全部楼层
在调用HAL_TIM_PWM_Stop后,你可以验证定时器的状态和PWM通道的配置是否正确。
LOVEEVER 发表于 2024-7-28 13:32 | 显示全部楼层
是不是程序循环中又打开了PWM?
抹茶妹妹 发表于 2024-7-30 18:54 | 显示全部楼层
确保在配置定时器的PWM输出时,使用了正确的模式和参数。特别是检查定时器的计数模式、PWM模式以及预分频设置是否正确,以确保PWM可以正常启动和停止。
米多0036 发表于 2024-8-31 12:59 | 显示全部楼层
在STM32的HAL库中,HAL_TIM_PWM_Stop函数会通过停止定时器的计数来关闭PWM输出。
米多0036 发表于 2024-8-31 12:59 | 显示全部楼层

确保在调用HAL_TIM_PWM_Stop时,定时器寄存器被正确配置并执行了停止操作。

确保在调用HAL_TIM_PWM_Stop时,定时器寄存器被正确配置并执行了停止操作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

36

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部