澳门皇冠赌场www.8hg.com
单片机程序死机跑飞六大原因
时间:2017-10-31 13:56:46 责任编辑:上海朗霁自动化科技有限公司 浏览:109次
 

  1.意外中止。

  是否翻开了某个中止,hg0088正网,皇冠体育渠道,皇冠线上文娱可是没有响应和**中端标志,导致程序一向进入中止,形成死机假象。

  2. 中止变量处理不当。

  若界说某些会在中止中修正的大局变量,这时要注意两个问题:首要为了避免编译器优化中止变量,要在这些变量界说时前加 volatile,其次在主循环中读取中止变量前应该首要封闭大局中止,避免读到一半被中止给修正了,读完之后再翻开大局中止;不然呈现形成数据凌乱。

  3. 地址溢出,常见过错为指针操作过错。

  我要侧重说的是数组下标运用循环函数中循环变量,如果循环变量没操控好则会呈现数组下标越界,意外修正体系的寄存器形成死机,这种情况下如果死机阐明命运好,不然后边不知道发作什么头疼的事。

  4. 无条件的死循环。

  比方运用while(x);等候电平改变,正常情况下x都会变成0,就怕如果,因而最好加上时刻约束;

  5. 看门狗没有封闭。

  有的单片机即便没运用看门狗开机时也有可能意外主动敞开了最小周期的看门狗,导致软件不断复位,形成死机,这个要看芯片手册,最好在程序复位后首要应该显式**看门狗再封闭看门狗;

  6. 仓库溢出。

  最难查找的问题,关于容量小的单片机,尽量削减函数调用层级,削减局部变量,然后削减压栈的时分所需的空间。当你把以上几条都试过不能解决问 题,试一试把你的被调用少函数直接内置到调用的当地而且把占用RAM大的局部变量改成大局变量,试一试说不定就可以了。

  7.大牛们弥补下...



本文单片机程序死机跑飞六大原因由上海朗霁自动化科技有限公司版权所有
转载请保留原文链接http://blog.dmsjfs.com.cn/amhgdcwww_8hg_com/29.html
  • 上一篇:没有了
  • 下一篇:没有了
本类最新
本类最热