Solved
STM32H503RB I3C Target Address NAK Problem
I am using EVB NUCLEO-H503RB with I3C Target feature.
I have successfully assign a dynamic address (0x50) to this I3C Target:

However, I could not get ACK from this Target with Address 0x50:
Below are my configure, is there anything missing for responding the address?
/**
* @brief I3C1 Initialization Function
* @param None
* @retval None
*/
static void MX_I3C1_Init(void)
{
/* USER CODE BEGIN I3C1_Init 0 */
/* USER CODE END I3C1_Init 0 */
I3C_FifoConfTypeDef sFifoConfig = {0};
I3C_TgtConfTypeDef sTgtConfig = {0};
/* USER CODE BEGIN I3C1_Init 1 */
/* I3C1 interrupt Init */
/* USER CODE END I3C1_Init 1 */
hi3c1.Instance = I3C1;
hi3c1.Mode = HAL_I3C_MODE_TARGET;
hi3c1.Init.TgtBusCharacteristic.BusAvailableDuration = 0x1e;
// if (HAL_I3C_Init(&hi3c1) != HAL_OK)
// {
// Error_Handler();
// }
/** Configure FIFO
*/
sFifoConfig.RxFifoThreshold = HAL_I3C_RXFIFO_THRESHOLD_1_4;
sFifoConfig.TxFifoThreshold = HAL_I3C_TXFIFO_THRESHOLD_1_4;
sFifoConfig.ControlFifo = HAL_I3C_CONTROLFIFO_DISABLE;
sFifoConfig.StatusFifo = HAL_I3C_STATUSFIFO_DISABLE;
// if (HAL_I3C_SetConfigFifo(&hi3c1, &sFifoConfig) != HAL_OK)
// {
// Error_Handler();
// }
/** Configure Target
*/
sTgtConfig.Identifier = 0;
sTgtConfig.MIPIIdentifier = 0;
sTgtConfig.CtrlRoleRequest = DISABLE;
sTgtConfig.HotJoinRequest = DISABLE;
sTgtConfig.IBIRequest = DISABLE;
sTgtConfig.IBIPayload = DISABLE;
sTgtConfig.IBIPayloadSize = HAL_I3C_PAYLOAD_1_BYTE;
sTgtConfig.MaxReadDataSize = 0;
sTgtConfig.MaxWriteDataSize = 0;
sTgtConfig.CtrlCapability = DISABLE;
sTgtConfig.GroupAddrCapability = DISABLE;
sTgtConfig.DataTurnAroundDuration = HAL_I3C_TURNAROUND_TIME_TSCO_LESS_12NS;
sTgtConfig.MaxReadTurnAround = 0;
sTgtConfig.MaxDataSpeed = HAL_I3C_GETMXDS_FORMAT_1;
sTgtConfig.MaxSpeedLimitation = DISABLE;
sTgtConfig.HandOffActivityState = HAL_I3C_HANDOFF_ACTIVITY_STATE_0;
sTgtConfig.HandOffDelay = DISABLE;
sTgtConfig.PendingReadMDB = DISABLE;
// if (HAL_I3C_Tgt_Config(&hi3c1, &sTgtConfig) != HAL_OK)
// {
// Error_Handler();
// }
/* USER CODE BEGIN I3C1_Init 2 */
HAL_I3C_Init(&hi3c1);
HAL_I3C_SetConfigFifo(&hi3c1, &sFifoConfig);
HAL_I3C_Tgt_Config(&hi3c1, &sTgtConfig);
/* USER CODE END I3C1_Init 2 */
}
