2019-12-03 09:40 AM
I try to include stm32h7xx_hal_i2s_ex.h and define SPI_I2S_FULLDUPLEX_SUPPORT
These are the errors that occur as below:
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(243): error: #20: identifier "HAL_I2S_STATE_BUSY_TX_RX" is undefined
hi2s->State = HAL_I2S_STATE_BUSY_TX_RX;
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(250): error: #136: struct "<unnamed>" has no field "DR"
hi2s->Instance->DR = (*pTxData++);
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(254): error: #20: identifier "I2S2ext_BASE" is undefined
_HAL_I2SEXT_ENABLE(hi2s);
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(254): error: #20: identifier "I2S3ext_BASE" is undefined
_HAL_I2SEXT_ENABLE(hi2s);
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(254): error: #20: identifier "SPI_I2SCFGR_I2SE" is undefined
_HAL_I2SEXT_ENABLE(hi2s);
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(280): error: #136: struct "<unnamed>" has no field "DR"
hi2s->Instance->DR = (*pTxData++);
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(323): error: #20: identifier "I2S2ext_BASE" is undefined
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(323): error: #20: identifier "I2S3ext_BASE" is undefined
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(327): error: #20: identifier "SPI_I2SCFGR_I2SE" is undefined
_HAL_I2SEXT_ENABLE(hi2s);
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(377): error: #136: struct "<unnamed>" has no field "DR"
(*pRxData++) = hi2s->Instance->DR;
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(487): error: #20: identifier "I2S2ext_BASE" is undefined
_HAL_I2SEXT_ENABLE_IT(hi2s, (I2S_IT_TXE | I2S_IT_ERR));
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(487): error: #20: identifier "I2S3ext_BASE" is undefined
_HAL_I2SEXT_ENABLE_IT(hi2s, (I2S_IT_TXE | I2S_IT_ERR));
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(504): error: #20: identifier "I2S2ext_BASE" is undefined
_HAL_I2SEXT_ENABLE(hi2s);
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(504): error: #20: identifier "I2S3ext_BASE" is undefined
_HAL_I2SEXT_ENABLE(hi2s);
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(504): error: #20: identifier "SPI_I2SCFGR_I2SE" is undefined
_HAL_I2SEXT_ENABLE(hi2s);
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(574): error: #20: identifier "HAL_I2S_STATE_BUSY_TX_RX" is undefined
hi2s->State = HAL_I2S_STATE_BUSY_TX_RX;
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(600): error: #20: identifier "I2S2ext_BASE" is undefined
HAL_DMA_Start_IT(hi2s->hdmarx, (uint32_t)&
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(600): error: #20: identifier "I2S3ext_BASE" is undefined
HAL_DMA_Start_IT(hi2s->hdmarx, (uint32_t)&
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(603): error: #20: identifier "SPI_CR2_RXDMAEN" is undefined
ET_BIT(I2SxEXT(hi2s->Instance)->CR2, SPI_CR2_RXDMAEN);
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(607): error: #136: struct "<unnamed>" has no field "DR"
HAL_DMA_Start_IT(hi2s->hdmatx, *(uint32_t *)tmp, (uint32_t)&hi2s->Instance->DR, hi2s->TxXferSize);
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(610): error: #20: identifier "SPI_CR2_TXDMAEN" is undefined
ET_BIT(hi2s->Instance->CR2, SPI_CR2_TXDMAEN);
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(613): error: #20: identifier "SPI_I2SCFGR_I2SE" is undefined
if ((hi2s->Instance->I2SCFGR & SPI_I2SCFGR_I2SE) != SPI_I2SCFGR_I2SE)
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(633): error: #20: identifier "I2S2ext_BASE" is undefined
HAL_DMA_Start_IT(hi2s->hdmatx, *(uint32_t *)tmp, (uint32_t)&
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(633): error: #20: identifier "I2S3ext_BASE" is undefined
HAL_DMA_Start_IT(hi2s->hdmatx, *(uint32_t *)tmp, (uint32_t)&
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(636): error: #20: identifier "SPI_CR2_TXDMAEN" is undefined
ET_BIT(I2SxEXT(hi2s->Instance)->CR2, SPI_CR2_TXDMAEN);
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c(640): error: #136: struct "<unnamed>" has no field "DR"
HAL_DMA_Start_IT(hi2s->hdmarx, (uint32_t)&hi2s->Instance->DR, *(uint32_t *)tmp, hi2s->RxXferSize);
..\Drivers\STM32H7xx_HAL_Driver\Src\stm32h7xx_hal_i2s_ex.c: 0 warnings, 30 errors
It appears that the current stm32h7xx_hal_i2s_ex.c file is broken due to undeclared identifiers.
I saw the I2S full duplex was mentioned in the release notes of the v1.3.0 (Known Limitations section) and Fully reworked HAL I2S driver to fix issues in the release notes of the v1.5.0.
So anybody know what's going wrong?
2019-12-12 06:42 PM
Anybody here?