尊敬的
使用8714内部看门狗,但有一些问题,整个8714初始化代码,并按如下所示输入狗代码, 8714初始化, 20ms 输入一次狗。 MCU 使用 TI 的 mspm0g 现象是、在非调试模式下、驱动电机是正常的、 但在调试模式下、偶尔的发生器会停止、检查看门狗是否存在问题后、移除看门狗启用、不管处于什么模式、都能正常工作、请帮我检查当前喂狗的方式是否正确。 谢谢!

#define USE_8714_WD
静态 uint32_t wd_flash_tick = 0;
uint32_t DRV8714_Init (uint32_t reset)
{
uint32_t ret = 0;
Drv871x_SPI_Init ();
if (复位)
{
DRV8714_sleep_invalid ();
delay_cycles (1000);
}
RET = DRV_SPI_CHK (drv_wr_reg (DREG_IC_CTRL1、0xA7));
uint32_t cfg = 0x40;
#ifdef use_8714_WD
CFG |= 0x0E;
#endif
RET |= DRV_SPI_CHK (drv_wr_reg (DREG_IC_CTRL2、cfg));
RET |= DRV_SPI_CHK (drv_wr_reg (DREG_PWM_CTRL2、0x22));
RET |= DRV_SPI_CHK (drv_wr_reg (DREG_CSA_CTRL1、0x00));
/*设置过载电流 */
RET |= DRV_SPI_CHK (drv_wr_reg (DREG_VDS_CTRL1、0x88));
RET |= DRV_SPI_CHK (drv_wr_reg (DREG_VDS_CTRL2、0x88));
DRV8714_WD_FLASH ();
返回支架;
}
void DRV8714_WD_FLASH (void)
{
if (Get_Dv T.ick (wd_flash_tick)>= 20)
{
WD_FLASH_tick = Get_Sys ();
uint32_t val = drv_rd_reg (DREG_IC_CTRL2);
Val ^= 1;
DRV_wr_reg (DREG_IC_CTRL2、val);
}
}







