huangyiting1990 发表于 2015-3-16 17:24:44

请教:我的STC的程序,貌似跑飞,回不来了?

前段时间发过一个"关于STC偶尔掉程序问题",先谢谢大家的热情回答。
我用到的是STC11F40XE系列 ,程序基本写满了,EEprom 用到了不少(EEPROM是用IAP操作的),程序中有串口通信。
这段时间一直在排查问题,发现,问题其实不是程序掉了,而是程序被篡改了(可能是单片机跑飞后,莫名其妙的篡改了什么数据),
具体表现为:(一下现象都是多次上电复位,表现现象一致)
    (1)产品一,我程序开始的地方,有一个595的初始化,用逻辑分析仪抓对应IO,状态都正常(时钟,数据,片选都对),然后就执行下面的程序时跑步过去,然后就一直死在了这个地方(一直重复595的初始化)
    (2)产品二,发现一直在对外发送一个固定数据。
量产的产品出现这个问题,是很头痛的。希望大家帮忙分析分析。

小李非刀 发表于 2015-3-16 17:48:43

595还要初始化?我都是直接就驱动了。

xiaobendan 发表于 2015-3-16 18:19:34

小李非刀 发表于 2015-3-16 17:48
595还要初始化?我都是直接就驱动了。

我后继接的NPN所有上电时先把输出全部置零的。

xiaobendan 发表于 2015-3-16 18:21:01

很笼统,无法判断,我用的是10F04XE,没有用串口。也没有用595。

weare 发表于 2015-3-16 19:11:28

会不会是该IO口有什么特殊用法你没注意到?

huangyiting1990 发表于 2015-3-16 20:12:07

小李非刀 发表于 2015-3-16 17:48
595还要初始化?我都是直接就驱动了。

先给一个固定的状态,不至于初始状态不确定

huangyiting1990 发表于 2015-3-16 20:14:36

xiaobendan 发表于 2015-3-16 18:21
很笼统,无法判断,我用的是10F04XE,没有用串口。也没有用595。

个人感觉是,程序中某个BUG,在某种情况下,导致程序被篡改了。想请大家帮忙分析一下,哪些情况会导致篡改到程序

lcw_swust 发表于 2015-3-16 21:03:01

内存或堆栈溢出
使能中断却没写中断服务函数
调用了不存在的函数

makesoft 发表于 2015-3-16 21:57:25

STC用内部的所谓EEPROM,一段时间后确实存在这样的问题,建议外扩用作数据存储。

页: [1]
查看完整版本: 请教:我的STC的程序,貌似跑飞,回不来了?