TI中文支持网
TI专业的中文技术问题搜集分享网站

关于WDCHK寄存器写非101来实现系统复位的问题

我配置的是进入中断的看门狗模式,在中断中再写

EALLOW;

WdRegs.WDCR.bit.WDCHK=0x0018;

EDIS;

  即我给WDCHK了一个非101的值,为何还是没有发生系统复位呢

10#:

请注意,执行以下语句之前需要先关闭看门狗中断,使能看门狗复位功能(Watchdog interrupt enable对应的位为0)。

同时,写入非101的值产生的是软件复位,你是如何判定没有产生系统复位的?建议可以查看XRS复位信号和一些寄存器的初始值确定。

我配置的是进入中断的看门狗模式,在中断中再写

EALLOW;

WdRegs.WDCR.bit.WDCHK=0x0018;

EDIS;

  即我给WDCHK了一个非101的值,为何还是没有发生系统复位呢

datong fang:

回复 10#:

大哥你好, 我按之前配置的是当看门狗计数器溢出的时候进入看门狗中断,在看门狗中断中写语句来复位系统,因为我通过示波器观察检测板子上的TP2引脚,并没有产生低电平,按照你的意思,是要在看门狗中断中先关闭看门狗中断,使能看门狗复位功能同时,写入非101的值  才可以吗?

就是说       WdRegs.SCSR.all =0;

                  WdRegs.WDCR.all = 0x0019;

把这两句  写到看门狗中断复位子程序吗?    注意:我是一定要在看门狗中断服务子程序写语句来实现系统复位的大哥!

我配置的是进入中断的看门狗模式,在中断中再写

EALLOW;

WdRegs.WDCR.bit.WDCHK=0x0018;

EDIS;

  即我给WDCHK了一个非101的值,为何还是没有发生系统复位呢

10#:

回复 datong fang:

是的,先关闭看门狗中断,也即配置为产生复位,再写入非法KEY值就能复位。关闭中断不影响当前中断的执行(复位了是否再执行中断本也无所谓),且你只是关闭看门狗复位,并不关闭其它中断,也不关闭PIE。复位后,看门狗恢复为初始状态,你只需要在下一次计数溢出前重新初始化看门狗为中断模式即可。

我配置的是进入中断的看门狗模式,在中断中再写

EALLOW;

WdRegs.WDCR.bit.WDCHK=0x0018;

EDIS;

  即我给WDCHK了一个非101的值,为何还是没有发生系统复位呢

datong fang:

回复 10#:

haha   谢谢  10# 大哥了   貌似是复位了    大大赞!

赞(0)
未经允许不得转载:TI中文支持网 » 关于WDCHK寄存器写非101来实现系统复位的问题
分享到: 更多 (0)