貌似程序跑飞的问题,请赐教【恢复】

2020-02-10 08:45发布

各位好,本人目前在用4550做USB通讯与LED的PWM亮度控制,程序用仿真器调试完毕,所有功能都已经实现;



但是,将程序烧写到仿真器之后,进行耐久度测试时,发现程序运行一段时间之后(例如2个小时),会发生类似程序跑飞的现象,所有IO输出为高,不再可控,USB通讯也不再相应,复位也无济于事;断掉电源,过一段时间再上电,就会恢复正常,可再过一段时间后程序又会跑飞。



我怀疑了几个方面的问题:



1、  晶振受到干扰:将晶振(20MHz)放置在距离单片机很近的地方,外壳接地,问题仍然存在。



2、  电源电压不稳:单片机的工作电压5v是由12v通过7805转换而来的,而12V是给LED供电的,怀疑PWM的通断控制会导致12V电源不稳,进而导致5V供电受到干扰,可是用示波器进行测试时,发现5V电压还是很稳的



目前问题仍然没有解决,请各位帮帮忙,分析一下问题可能出现的地方,多谢了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
xiaohuan623
1楼-- · 2020-02-10 13:41
谢谢楼上的回复



单片机没有发热,程序应该是死机了,因为所有的IO都输出为高了,USB也无法通讯,但是复位后仍然无法运行,我怀疑是不是因为晶振振了一段时间后就不正常工作了?
Friendz
2楼-- · 2020-02-10 15:22
单片机有没有发热?



将两个12V用两个不同的电源供电,并且加大电容量。



程序是重启动了还是死机了?有不同的处理方法。



我在处理类似情况时,用一个串口接上电脑,在程序一些位置防止一些调试代码,如果遇到问题,在电脑串口上会收到调试代码,就知道程序大概飞到哪里去了。

一周热门 更多>