解释一下代码void DisableDog(void) { EALLOW; SysCtrlRegs.WDCR= 0x0068;EDIS;
时间: 2023-11-09 11:05:46 浏览: 230
DSP 2812的看门狗总结
3星 · 编辑精心推荐
这段代码实现了禁用看门狗定时器的功能。具体来说,函数中的EALLOW和EDIS是保护和恢复中断状态的宏定义,可以让CPU在修改寄存器时不会受到中断的干扰。SysCtrlRegs是一个结构体,表示系统控制寄存器组,其中WDCR是一个16位寄存器,表示看门狗定时器控制寄存器。0x0068是一个16进制的数值,表示了WDCR寄存器的设置值。在这个值中,WDDIS位被设置为1,表示禁用看门狗定时器;WDCHK位被设置为101,表示允许软件对看门狗定时器进行访问;WDPS位被设置为000,表示看门狗定时器的时钟为系统时钟(OSCCLK)除以512。这样,当CPU运行到这段代码时,就可以通过修改WDCR寄存器的值,来实现禁用看门狗定时器的功能。
阅读全文