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

tim1死机

[复制链接]
飞翼我的心 提问时间:2016-12-14 15:43 /
悬赏10ST金币未解决
我用tim1输出固定频率互补的pwm,现在我在其中断里计数几个脉冲后置为强制输出低电平(改TIM1_CCMR1),然后几个脉冲后恢复正常,用示波器看了出现几个理想波形后便死机或者重启,求解啊

收藏 2 评论14 发布时间:2016-12-14 15:43

举报

14个回答
无薪税绵 回答时间:2017-3-13 08:30:43
感觉应该是程序没有写好吧。
如果是重启,会不会是看门狗复位了。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

小小超 回答时间:2017-3-13 08:34:58
如果是需要计数PWM的话,最好采用互补中断的方式。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

仙景 回答时间:2017-3-13 08:55:41
程序有问题,是什么mcu,不然不能给你明确的解决方法。不过,stm8,stm32的电机驱动控制就是利用互补PWM,这个是绝对没问题的,你好好检查一下,看看异常在哪里

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

wenyangzeng 回答时间:2017-3-13 09:55:32

中断时,

本帖最后由 wenyangzeng 于 2017-3-13 13:10 编辑

进入中断时,你应该先停止TIM1

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

yb0121 回答时间:2017-3-13 10:57:09
不懂,只是路过
cldym 回答时间:2017-3-13 13:33:31
不懂,只是路过
tgwfcc 回答时间:2017-3-13 16:06:41
感觉是程序问题,楼主查查重启、死机是在程序什么地方,为什么会执行到那里呢?查查呗

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

七哥 回答时间:2017-3-13 16:07:56
在哪个中断里计数的?是tim1中断里吗?如果是的话,那么进中断后,你要立即停止中断,计数完出中断前,清除中断,并开启中断。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

中山无雪 回答时间:2017-3-13 18:03:07
先跟踪一下重启的原因是什麽,死机就是陷入了一个死循环,也跟踪一下

找到问题出在哪里就好说了

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

chen000000009 回答时间:2017-3-14 01:36:06
程序的问题,可以进行单步调试以查看原因
zbber 回答时间:2017-3-14 07:12:13
不懂,只是路过
james-351009 回答时间:2017-3-14 14:08:07
应该是程序的问题,下断点看死在哪里了,如果是重启的话应该是内存越界了,好好检查程序

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

Dylan疾风闪电 回答时间:2017-3-14 14:55:52
直接设断点,仿真,查代码。。。
群星闪烁 回答时间:2017-3-15 13:51:32
记得STM32好像有个寄存器,可以查看上次重启是由什么产生的。具体哪个寄存器不记得了,好像是电源那部分的

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版