TI论坛
直播中

李敏

8年用户 1444经验值
私信 关注
[问答]

MSC1210Y5设计电路需用到WatchDog功能,但一直试都无作用,是哪里的问题?


  • 你好:我的问题是:我用贵司MSC1210Y5设计电路,其中需用到WatchDog功能,但一直试都无作用,我参照MSC1210 User's Guide 于C程式开头加入
    #pragma ASM
    CSEG AT 0807EH
    DB 0FCH //设置HCR0
    DB 0FFH //设置HCR1
    #pragma ENDASM


    在程式Main{}之While(1)前加入
    WDTCON=0x80; //置位EWDT
    WDTCON=0x07; //Clear EWDT;set timeout=7,800ms

    在 之While(1) 迴圈中加入

    WDTCON |=0x20;           //置位RWDT
    WDTCON &= ~0x20;      //清除RWDT


    程式运行时正常状况会在时间内执行 WDTCON |=0x20;  及 WDTCON &= ~0x20;  復位看门狗,若因干扰异常无法及时执行復位时就会Reset程式,重新执行
    但我在程式中插入   DelayX1ms(2000);延迟2sec,已超过看门狗800ms 应该要Reset程式但没有,程式还是正常执行,请指点是哪裡出错了,谢谢

回帖(2)

陈秀英

2024-12-14 09:38:14
看门狗系统设计得一启动就不能关闭. 我觉得不一定是你的程序问题, 你怎么判断复位的也是个问题啊
举报

张亮

2024-12-14 17:21:07
您好!根据您的描述,您在使用MSC1210Y5设计电路时遇到了WatchDog功能不生效的问题。我会尝试帮助您解决这个问题。

首先,请确保您已经正确配置了WatchDog Timer的相关寄存器。以下是一些可能的原因和解决方案:

1. 确保您的代码中包含了正确的WatchDog Timer初始化代码。您提供的代码看起来是正确的,但请确保您没有遗漏任何步骤。

2. 检查您的硬件连接。确保您的电路连接正确,特别是与WatchDog Timer相关的引脚。如果有任何短路或断路,可能会导致WatchDog Timer无法正常工作。

3. 检查您的电源。确保您的电源稳定且在规定的电压范围内。不稳定的电源可能会导致WatchDog Timer无法正常工作。

4. 检查您的时钟源。确保您的时钟源设置正确,以便WatchDog Timer能够正常计时。

5. 如果您使用的是外部时钟源,请确保外部时钟源的频率和稳定性符合要求。

6. 检查您的代码逻辑。确保在主循环中正确地设置了WatchDog Timer的重置和清除位。您提供的代码看起来是正确的,但请确保您没有遗漏任何步骤。

7. 如果以上步骤都无法解决问题,您可以尝试使用示波器或其他调试工具检查WatchDog Timer的输出信号,以确定问题是否出在硬件上。

希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分