单片机运行一段时间后,不按原程序执行怎么回事/
展开全部
据我多年的经验,出现这种问题,原因一般有三:
1 你的软件为编写上的BUG,比如你想实现功能A,但是,因为你的程序写的有问题,例如:算法有问题,有语法上的漏洞,你思考的不全面等等,在某种条件下可以实现功能A,但是当条件有一点改变,导致程序与你执行的不一致。
2 单片机硬件受到干扰,例如单片机周围有强电,或者单片机用的继电器,但是电路没处理好等等,导致程序跑飞了。
3 内存的溢出,比如你声明了一个数组A[],但是在程序执行的过程中,你的程序不严谨,不慎让调用A[]时超过了它的极限,等等。
就我个人的经验,第1条原因是你出现 这个现象最主要的原因,其次是第3条原因,第2条原因一般不太容易出现,除非是硬件是新手做的。
建议你从第1,2两条着手查找原因。
1 你的软件为编写上的BUG,比如你想实现功能A,但是,因为你的程序写的有问题,例如:算法有问题,有语法上的漏洞,你思考的不全面等等,在某种条件下可以实现功能A,但是当条件有一点改变,导致程序与你执行的不一致。
2 单片机硬件受到干扰,例如单片机周围有强电,或者单片机用的继电器,但是电路没处理好等等,导致程序跑飞了。
3 内存的溢出,比如你声明了一个数组A[],但是在程序执行的过程中,你的程序不严谨,不慎让调用A[]时超过了它的极限,等等。
就我个人的经验,第1条原因是你出现 这个现象最主要的原因,其次是第3条原因,第2条原因一般不太容易出现,除非是硬件是新手做的。
建议你从第1,2两条着手查找原因。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询