Other Parts Discussed in Thread: AWRL1432
器件型号: TPS650365EVM
主题: AWRL1432 中讨论的其他器件
我现在使用 awrL1432 作为 I2C 主器件来配置 TPS650365、且看门狗初始化功能如下:
int32_t App_Pmic Wdg_Init (const Pmic_Core Handle_t* pmicHandle)
{
int32_t 状态= PMIC_ST_Success;
Pmic_Wdg Cfg_t wdgCfg ={0};
if (pmicHandle == NULL)
{
返回 PMIC_ST_ERR_NULL_PARAM;
}
// 1。 准备配置结构
wdgCfg.win1Duration = 127;
wdgCfg.win2Duration = 127;
wdgCfg.longWinDuration = 250;
wdgCfg.failThr = 3;
wdgCfg.rstThr = 3;
wdgCfg.mode = 0;
wdgCfg.trigSel = 0;
wdgCfg.rstEn = true;//启用看门狗热复位功能
//指明我们要更新的参数
wdgCfg.validParams =(PMIC_WD_WIN1_DURATION_VALID | PMIC_WD_WIN2_DURATION_VALID | PMIC_WD_LONG_WIN_DURATION_VALID
| PMIC_WD_FAIL_THR_VALID | PMIC_WD_RST_THR_VALID | PMIC_WD_MODE_VALID
| PMIC_WD_RST_EN_VALID);
PMIC_UNLOCKRegs (pmicHandle);
PMIC_wdgEnable (pmicHandle);
// 2. 将配置写入 PMIC(此处仍处于长窗口中)
状态= PMIC_wdgSetCfg (pmicHandle、&wdgCfg);
IF (STATUS != PMIC_ST_Success)
{
返回状态;
}
// 3. 清除 WD_PWRHOLD 以允许 PMIC 退出长窗口
//(请参阅数据表 6.4.11.3 MCU 到看门狗同步)
状态= PMIC_wdgSetPwrHold (pmicHandle、FALSE);
IF (STATUS != PMIC_ST_Success)
{
返回状态;
}
// 4. 发送第一个软件触发器以退出长窗口
//重要说明:此函数成功写入 I2C 的确切时刻、
//长窗口终止、window-1 立即启动。
PMIC_wdgSendSwTrigger (pmicHandle);
IF (STATUS == PMIC_ST_Success)
{
G_isWdInitialized = true;
}
PMIC_LOCKRegs (pmicHandle);
返回状态;
}
最终返回状态为 0、但在执行该函数后、当我使用 PMIC_wdgGetCfg 函数读取寄存器时、我发现所有寄存器值仍然是默认值。 我想问原因是什么? 初始化时序是否有问题?