Example QSPI_ReadWrite_DMA does not work on STM32WB5MMG board
I am working on STM32WB5MMG board and using the example QSPI_ReadWrite_DMA.
In the main function the program can not run into case 2 to call HAL_QSPI_Transmit_DMA
Source Code as below:
case 2:
if(StatusMatch != 0)
{
StatusMatch = 0;
TxCplt = 0;
/* Enable write operations ----------------------------------------- */
QSPI_WriteEnable(&hqspi);
/* Writing Sequence ------------------------------------------------ */
sCommand.Instruction = EXT_DUAL_IN_FAST_PROG_CMD;
sCommand.AddressMode = QSPI_ADDRESS_2_LINES;
sCommand.DataMode = QSPI_DATA_2_LINES;
sCommand.NbData = BUFFERSIZE;
if (HAL_QSPI_Command(&hqspi, &sCommand, HAL_QSPI_TIMEOUT_DEFAULT_VALUE) != HAL_OK)
{
Error_Handler();
}
if (HAL_QSPI_Transmit_DMA(&hqspi, aTxBuffer) != HAL_OK)
{
Error_Handler();
}
step++;
}
break;
After investigation I found that StatusMatch is not updated, it always is 0.
which means callback function HAL_QSPI_StatusMatchCallback is not called.
then I tried to set USE_HAL_QSPI_REGISTER_CALLBACKS to 1 and register the callback function
and still not figure out the issue(HAL_QSPI_StatusMatchCallback is not called)
Can any one provide your suggestion?
