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!

 

0 REPLIES 0