wind2100 发表于 2014-7-7 15:15:04

大家来看看 这样养狗行吗?

本帖最后由 wind2100 于 2014-7-7 15:17 编辑

去一新公司 之前的程序这样养狗!,, 有人反应 半小时 或是一个小时 有复位,正在找硬件和软件的问题.

"/* Watchdog mode -> reset after expired time */
/* WDT is clocked by fSMCLK (assumed 1MHz) */
#define WDT_MRST_32         (WDTPW+WDTCNTCL)                                  /* 32ms interval (default) */"



.....

    BCSCTL1 = CALBC1_8MHZ;
    DCOCTL= CALDCO_8MHZ;
........
for (i=160;i>0;i--)
{
        if (x){
                TA1CCTL1 &= ~CCIFG;
                WDTCTL = WDT_MRST_32;
                while (!(TA1CCTL1 & CCIFG));
                TA1CCR1 = DATA*Multiplier;
                WDTCTL = WDT_MRST_32;
                Delay_mS(20);
                WDTCTL = WDT_MRST_32;

        }
        if (y){
                TA1CCTL2 &= ~CCIFG;
                WDTCTL = WDT_MRST_32;
                while (!(TA1CCTL2 & CCIFG));
                TA1CCR2 = DATA*Multiplier;
                WDTCTL = WDT_MRST_32;
                Delay_mS(20);
                WDTCTL = WDT_MRST_32;

        }
}

.........

黑夜之狼 发表于 2014-7-7 15:43:23

被LZ的标题吸引过来了

swap2013 发表于 2014-7-7 16:33:23

x 且 y 条件32ms都不满足,狗就咬了

wind2100 发表于 2014-7-7 16:57:51

swap2013 发表于 2014-7-7 16:33
x 且 y 条件32ms都不满足,狗就咬了

满足一样有可能 会咬人

Delay_mS(20);里面还有中断啊

初一看 肯定有问题 8M的情况下 4MS就狗就 咬人了.
还DELAY 20MS ,

再一测试Delay_mS(20);只有 2.5MS

还是通过,看起来狗不会咬人了,

但是....这种写法

你们也这样干吗?

WEIZ666 发表于 2014-7-7 17:06:35

奶奶的我是被楼主的标题吸过来的

wind2100 发表于 2014-7-7 17:07:22

WEIZ666 发表于 2014-7-7 17:06
奶奶的我是被楼主的标题吸过来的

这标题 没错吧 !!!

Arrowzhang 发表于 2014-7-7 17:12:35

wind2100 发表于 2014-7-7 17:07
这标题 没错吧 !!!

你说喂狗就没错了

wind2100 发表于 2014-7-8 07:51:21

喂狗 和养狗 是有点区别的   养了你才得喂呀没养你还喂啥

老是饿着狗不如不养

swap2013 发表于 2014-7-8 11:43:07

wind2100 发表于 2014-7-7 16:57
满足一样有可能 会咬人

Delay_mS(20);里面还有中断啊


还是你想得多,一般我不这么用狗
实话说,用不好狗不用也没关系

wind2100 发表于 2014-7-8 13:40:55

swap2013 发表于 2014-7-8 11:43
还是你想得多,一般我不这么用狗
实话说,用不好狗不用也没关系

是的 软件看门狗纯对复杂软件防止软件出错用的,

并不能对一些复杂电子环境,来的各种干扰造成的死机或是程序跑飞.

除非软硬兼施

何况这MSP430 的看门狗还是 主时钟下面分的频,非独立时钟.

..........................

后面证实了,就是这个狗 没养好 , 现在重养一条以前4MS就饿了,现在搞了一个几S才饿的狗.

(看看那个程序里面,那么多DELAY WHILE有时要等上10多MS执行一次,这怎么喂得饱. 还不知道哪里喂. )

借这个话题 也告戒新手,不要乱养狗.要养就要养好.我记得之前看到过有这样的贴.

现在的情况是已经生产了几千套,这个MSP430有FUSE, 要重换IC. 不像其它IC还可以清除升级.

正在测试中呢....

swap2013 发表于 2014-7-9 08:40:15

wind2100 发表于 2014-7-8 13:40
是的 软件看门狗纯对复杂软件防止软件出错用的,

并不能对一些复杂电子环境,来的各种干扰造成的死机或 ...

JTAG读烧断了,还可以用BSL写进去的

wind2100 发表于 2014-7-9 09:03:13

那脚太小,SSOP20 引脚还没引出来...

yu_studio 发表于 2014-7-9 09:22:34

我是只在主循环里喂一次狗,
程序中delay很少,即使用也us、ns级的延时,确保程序能在很短时间内循环一次,不要让CPU在那死等。

wind2100 发表于 2014-7-9 13:41:06

yu_studio 发表于 2014-7-9 09:22
我是只在主循环里喂一次狗,
程序中delay很少,即使用也us、ns级的延时,确保程序能在很短时间内循环一次, ...

终于 有经验的站出来了 看出问题了.

BroadWay-Elec. 发表于 2014-7-10 15:02:07

有可能得狂犬病
页: [1]
查看完整版本: 大家来看看 这样养狗行吗?