cancel
Showing results for 
Search instead for 
Did you mean: 

dynamic address broadcast not working for Nulceo-H563ZI

JRM_02
Associate II

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!

 

1 REPLY 1
Foued_KH
ST Employee

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.