打印
[STM32H7]

产生PWM后关不掉PWM

[复制链接]
876|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
怪诞新|  楼主 | 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的监视器

使用特权

评论回复
5
qintian0303| | 2024-7-12 08:46 | 只看该作者
这个情况要是好复现就比价好找,看看标志位是否正确,然后可以试试关闭定时器能不能关闭

使用特权

评论回复
6
怪诞新|  楼主 | 2024-7-12 12:26 | 只看该作者
qintian0303 发表于 2024-7-12 08:46
这个情况要是好复现就比价好找,看看标志位是否正确,然后可以试试关闭定时器能不能关闭 ...

这种情况,小概率事件,正常能关闭,但有时候应该是电磁干扰太强了就32控制不了了

使用特权

评论回复
7
jcky001| | 2024-7-12 15:00 | 只看该作者
检查中断和DMA

使用特权

评论回复
8
cr315| | 2024-7-12 15:00 | 只看该作者
试一下软件复位

使用特权

评论回复
9
丙丁先生| | 2024-7-13 07:08 | 只看该作者
延时?

使用特权

评论回复
10
yiy| | 2024-7-13 22:02 | 只看该作者
是还有一个周期波形而已吧?这个要等最后一个周期结束才能关闭掉。

使用特权

评论回复
11
sj8zw8| | 2024-7-27 14:57 | 只看该作者
在调用HAL_TIM_PWM_Stop后,你可以验证定时器的状态和PWM通道的配置是否正确。

使用特权

评论回复
12
LOVEEVER| | 2024-7-28 13:32 | 只看该作者
是不是程序循环中又打开了PWM?

使用特权

评论回复
13
抹茶妹妹| | 2024-7-30 18:54 | 只看该作者
确保在配置定时器的PWM输出时,使用了正确的模式和参数。特别是检查定时器的计数模式、PWM模式以及预分频设置是否正确,以确保PWM可以正常启动和停止。

使用特权

评论回复
14
米多0036| | 2024-8-31 12:59 | 只看该作者
在STM32的HAL库中,HAL_TIM_PWM_Stop函数会通过停止定时器的计数来关闭PWM输出。

使用特权

评论回复
15
米多0036| | 2024-8-31 12:59 | 只看该作者

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

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

31

帖子

0

粉丝