问:我按照这个步骤对其进行了配置。但是在完成第 5 步之后设置 触发信号=10,为什么不在这里 RESET?
你好
写入触发信号后,MONCHECK 寄存器的内容是什么?
因为 RESET 应该在写入 TRIGGER 之后立即触发。
顺祝商祺!
Peter
感谢您的反馈。 我检查了我的设计,我认为主要问题在于:我无法读取 MONCHECK 的值,也就无法完成功能描述。 详情如下:
开机后,如果我按如下方式读取 MONCHECK,则返回值始终是 E_NOT_OK,我无法检查 DONEF 和触发信号的值。为什么我读不到?
ret = Ae_ReadRegister((uint32)&(IP_PMC_AE->MONCHECK),32,&data);
如果我将 MONCHECK 写入 PMC_AE_MONCHECK_TRIGGER(2),如下所示,那么我就可以读取它,并且与我设置的值相同。
/*读取 MONCHECK,检查 DONEF=0 和 触发信号=10*/
ret = Ae_ReadRegister((uint32)&(IP_PMC_AE-)>MONCHECK), 32,&data);
如果((data&(PMC_AE_MONCHECK_DONEF_MASK|PMC_AE_MONCHECK_TRIGGER_MASK))!=PMC_AE_MONCHECK_TRIGGER(2))
{
data = PMC_AE_MONCHECK_TRIGGER(2);
ret = Ae_WriteRegister((uint32)&(IP_PMC_AE-)>MONCHECK), 32, data);
}
/*写入触发信号 = 01*/
data = PMC_AE_MONCHECK_TRIGGER(1);
ret = Ae_WriteRegister((uint32)&(IP_PMC_AE-)>MONCHECK), 32, data);
ret = Ae_ReadRegister((uint32)&(IP_PMC_AE-)>MONCHECK), 32,&data);
你好
开机后,如果我按如下方式读取 MONCHECK,则返回值始终是 E_NOT_OK,我无法检查 DONEF 和触发信号的值。为什么我读不到?
能否通过调试器手动检查?
只需在开始时设置 while/decision 循环,并通过调试器直接读取寄存器,即可确定寄存器的值。
我不熟悉你们的驱动程序,所以无法判断它是否正确检查。
我会在这里进行测试,然后把结果告诉你们。
顺祝商祺!
Peter
顺祝商祺!
Peter
你好
我仔细查看了 AE 的编程,但在执行测试时却毫无进展。
这需要更多的时间来创建一个示例。
如需申请支持,请在 NXP.com 上提交申请。
如果有时间,我将在一月份创建一个工作示例,作为我的副业。
顺祝商祺!
Peter