19,500
社区成员
发帖
与我相关
我的任务
分享
Reset(void)
{
BOOL r = FALSE;
USHORT dummy;
int i;
/* Set RESET bit of SelfCTL register. */
do
{
//WRITE_REG1(PKTPG_SELF_CTL, SELF_CTL_RESET | SELF_CTL_LOW_BITS);
WRITE_REG1(PKTPG_SELF_CTL, SELF_CTL_RESET);
/* Wait until INITD bit of SelfST register is set. */
for (i = 0; i < MAX_COUNT; i++)
{
dummy = READ_REG1(PKTPG_SELF_ST);
if (dummy & SELF_ST_INITD) break;
}
if (i >= MAX_COUNT)
{
RETAILMSG(1, (TEXT("ERROR: Reset: Reset failed (SelfST).\r\n")));
break;
}
/* Wait until SIBUSY bit of SelfST register is cleared. */
for (i = 0; i < MAX_COUNT; i++)
{
dummy = READ_REG1(PKTPG_SELF_ST);
if ((dummy & SELF_ST_SIBUSY) == 0) break;
}
if (i >= MAX_COUNT)
{
RETAILMSG(1, (TEXT("ERROR: Reset: Reset failed (SIBUSY).\r\n")));
break;
}
r = TRUE;
} while (0);