Skip to main content
Explorer
September 4, 2024
Question

How to ENTDAA ( "Multiple implementation")

  • September 4, 2024
  • 2 replies
  • 919 views

When executing RSTDAA and ENTDAA once, it succeeds, but when executed more than twice, it does not work properly. Since RSTDAA is being performed, I think there should be no problem, but is it not possible to execute it more than twice?

//1st rstdaa+entdaa

/* Assign dynamic address processus */
if (HAL_I3C_Ctrl_DynAddrAssign_IT(&hi3c1,I3C_RSTDAA_THEN_ENTDAA

) != HAL_OK)
{
/* Error_Handler() function is called when error occurs. */
Error_Handler();
}

// This function is succeed


while (HAL_I3C_GetState(&hi3c1) != HAL_I3C_STATE_READY)
{
}

// This function is succeed

 

//2nd rstdaa +entdaa

/* Assign dynamic address processus */
if (HAL_I3C_Ctrl_DynAddrAssign_IT(&hi3c1,I3C_RSTDAA_THEN_ENTDAA

) != HAL_OK)
{
/* Error_Handler() function is called when error occurs. */
Error_Handler();
}

// This function is succeed

while (HAL_I3C_GetState(&hi3c1) != HAL_I3C_STATE_READY)
{
}

// This function is Failed

 

    This topic has been closed for replies.

    2 replies

    Graduate II
    September 18, 2024

    This seems to be posted to the wrong forum. This belongs in the "STM32CubeMX" forum where HAL issues are discussed. (Though it is not clear from the forum name that this is the case.)

    This forum is geared towards issues specific to the STM32 VS Code extension.

    dai82sAuthor
    Explorer
    September 19, 2024
    Sorry for the inconvenience. I will resubmit.