This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TMS320F28069:看门狗意外复位

Guru**** 2602335 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/678304/ccs-tms320f28069-watchdog-reset-unexpectedly

器件型号:TMS320F28069

工具/软件:Code Composer Studio

我想在我的应用中启用看门狗。 但看门狗在执行正常流程时会复位 CPU。 我在循环末尾为狗提供服务、但计数器在这两者之间达到其最大值。 我尝试增加预分频 器(WDCR)、但 在调试时无法在寄存器查找中看到相同的内容。 出什么问题了?

void Watchdog_config (void)
{
EALLOW;
SysCtrlRegs.WDCR = 0x28; // WRIValue 写入以启用修改
SysCtrlRegs.WDCR |= 0x07; //看门狗预分频器
SysCtrlRegs.WDKEY = 0x0055;
SysCtrlRegs.WDKEY = 0x00AA;
EDIS;
} 

  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您需要将函数的第二行和第三行合并为单次写入(WDCR = 0x0x2F)。 每次写入该寄存器时、WDCR 寄存器的 WDCHK 字段需要写入101b。 WDCHK 寄存器始终读回0、因此当您执行读-修改-写操作来更改预分频器时、您最终会向 WDCHK 写入0、该操作会立即发送复位信号。

    惠特尼