2024-05-15 8:42 AM
I just downloaded the "I3C_Controller_WakeUpFromStop" project for the Nucleo-H563ZI board using the example project import option. It compiled with no issues. Ran it with debugger and protocol analyzer on the I3C bus. When the subroutine "Handle_ENTDAA_Controller()" is called/executed, the protocol analyzer shows "START | Address 7F | Rnw(1) | |NACK" and not "0x7E" for broadcast. The project/code locks up at line 172 = " while(ubFrameComplete == 0U); /*Wait end of Dynamic Address Assignment procedure */ " Also, the subroutine Handle_ENTDAA_Controller() shows "ptrTXFunc = &I3C_DynamicAddressTreatment;" and this function is never invoked for some reason.
1) What am I doing wrong?
2) why is there no RSTDAA (Restart DAA) sent first? Everything I have read said if there is already a dynamic address it cannot be reassigned until it has been cleared or reset.
3) My other project, "I3C_Controller_Private_Command_IT" and several others all have the same issue. Why? What is the simplest project/code example code that performs a broadcast that I can use?
4) My other project, "I3C_Controller_Private_Command_IT" when downloaded did not compile. I had to add some missing files to get it to compile (e.g. stm32h5xx_util_i3c.h). It also has the same broadcast 0x7F issue described above, however instead of looping it goes to the Error_Handler() subroutine and I do not know why?
5) What does 0x7F mean? The spec says it should not be used.
Any input on these matters is much appreciated!
2024-07-30 2:02 AM
Hello @JRM_02 ,
Use I3C_RSTDAA_THEN_ENTDAA instead of I3C_ONLY_ENTDAA as a parameter if you want RSTDAA then 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();
}
Are you using STM32 MCU as a target ?
Foued
To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.
We’re moving the ST Community to a new platform to give you a better and more reliable community experience.