Lines Matching refs:hi2s
215 static void I2S_Transmit_IT(I2S_HandleTypeDef *hi2s);
216 static void I2S_Receive_IT(I2S_HandleTypeDef *hi2s);
217 static void I2S_IRQHandler(I2S_HandleTypeDef *hi2s);
218 static HAL_StatusTypeDef I2S_WaitFlagStateUntilTimeout(I2S_HandleTypeDef *hi2s, uint32_t Flag, Fla…
266 HAL_StatusTypeDef HAL_I2S_Init(I2S_HandleTypeDef *hi2s) in HAL_I2S_Init() argument
281 if (hi2s == NULL) in HAL_I2S_Init()
287 assert_param(IS_I2S_ALL_INSTANCE(hi2s->Instance)); in HAL_I2S_Init()
288 assert_param(IS_I2S_MODE(hi2s->Init.Mode)); in HAL_I2S_Init()
289 assert_param(IS_I2S_STANDARD(hi2s->Init.Standard)); in HAL_I2S_Init()
290 assert_param(IS_I2S_DATA_FORMAT(hi2s->Init.DataFormat)); in HAL_I2S_Init()
291 assert_param(IS_I2S_MCLK_OUTPUT(hi2s->Init.MCLKOutput)); in HAL_I2S_Init()
292 assert_param(IS_I2S_AUDIO_FREQ(hi2s->Init.AudioFreq)); in HAL_I2S_Init()
293 assert_param(IS_I2S_CPOL(hi2s->Init.CPOL)); in HAL_I2S_Init()
294 assert_param(IS_I2S_CLOCKSOURCE(hi2s->Init.ClockSource)); in HAL_I2S_Init()
296 if (hi2s->State == HAL_I2S_STATE_RESET) in HAL_I2S_Init()
299 hi2s->Lock = HAL_UNLOCKED; in HAL_I2S_Init()
302 hi2s->IrqHandlerISR = I2S_IRQHandler; in HAL_I2S_Init()
306 …hi2s->TxCpltCallback = HAL_I2S_TxCpltCallback; /* Legacy weak TxCpltCallback … in HAL_I2S_Init()
307 …hi2s->RxCpltCallback = HAL_I2S_RxCpltCallback; /* Legacy weak RxCpltCallback … in HAL_I2S_Init()
309 …hi2s->TxRxCpltCallback = HAL_I2SEx_TxRxCpltCallback; /* Legacy weak TxRxCpltCallback … in HAL_I2S_Init()
311 …hi2s->TxHalfCpltCallback = HAL_I2S_TxHalfCpltCallback; /* Legacy weak TxHalfCpltCallback … in HAL_I2S_Init()
312 …hi2s->RxHalfCpltCallback = HAL_I2S_RxHalfCpltCallback; /* Legacy weak RxHalfCpltCallback … in HAL_I2S_Init()
314 …hi2s->TxRxHalfCpltCallback = HAL_I2SEx_TxRxHalfCpltCallback; /* Legacy weak TxRxHalfCpltCallback … in HAL_I2S_Init()
316 …hi2s->ErrorCallback = HAL_I2S_ErrorCallback; /* Legacy weak ErrorCallback … in HAL_I2S_Init()
318 if (hi2s->MspInitCallback == NULL) in HAL_I2S_Init()
320 hi2s->MspInitCallback = HAL_I2S_MspInit; /* Legacy weak MspInit */ in HAL_I2S_Init()
324 hi2s->MspInitCallback(hi2s); in HAL_I2S_Init()
327 HAL_I2S_MspInit(hi2s); in HAL_I2S_Init()
331 hi2s->State = HAL_I2S_STATE_BUSY; in HAL_I2S_Init()
335 CLEAR_BIT(hi2s->Instance->I2SCFGR, (SPI_I2SCFGR_CHLEN | SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CKPOL | \ in HAL_I2S_Init()
338 hi2s->Instance->I2SPR = 0x0002U; in HAL_I2S_Init()
342 if (hi2s->Init.AudioFreq != I2S_AUDIOFREQ_DEFAULT) in HAL_I2S_Init()
345 if (hi2s->Init.DataFormat == I2S_DATAFORMAT_16B) in HAL_I2S_Init()
357 if (hi2s->Init.Standard <= I2S_STANDARD_LSB) in HAL_I2S_Init()
369 if (hi2s->Init.ClockSource == I2S_CLOCK_EXTERNAL) in HAL_I2S_Init()
389 if (hi2s->Instance == SPI1) in HAL_I2S_Init()
400 if (hi2s->Init.MCLKOutput == I2S_MCLKOUTPUT_ENABLE) in HAL_I2S_Init()
403 if (hi2s->Init.DataFormat != I2S_DATAFORMAT_16B) in HAL_I2S_Init()
405 tmp = (uint32_t)(((((i2sclk / (packetlength * 4U)) * 10U) / hi2s->Init.AudioFreq)) + 5U); in HAL_I2S_Init()
409 tmp = (uint32_t)(((((i2sclk / (packetlength * 8U)) * 10U) / hi2s->Init.AudioFreq)) + 5U); in HAL_I2S_Init()
415 tmp = (uint32_t)(((((i2sclk / packetlength) * 10U) / hi2s->Init.AudioFreq)) + 5U); in HAL_I2S_Init()
441 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_PRESCALER); in HAL_I2S_Init()
448 …hi2s->Instance->I2SPR = (uint32_t)((uint32_t)i2sdiv | (uint32_t)(i2sodd | (uint32_t)hi2s->Init.MCL… in HAL_I2S_Init()
452 MODIFY_REG(hi2s->Instance->I2SCFGR, (SPI_I2SCFGR_CHLEN | SPI_I2SCFGR_DATLEN | \ in HAL_I2S_Init()
456 (SPI_I2SCFGR_I2SMOD | hi2s->Init.Mode | \ in HAL_I2S_Init()
457 hi2s->Init.Standard | hi2s->Init.DataFormat | \ in HAL_I2S_Init()
458 hi2s->Init.CPOL)); in HAL_I2S_Init()
461 …if ((hi2s->Init.Standard == I2S_STANDARD_PCM_SHORT) || ((hi2s->Init.Standard == I2S_STANDARD_PCM_L… in HAL_I2S_Init()
464 SET_BIT(hi2s->Instance->I2SCFGR, SPI_I2SCFGR_ASTRTEN); in HAL_I2S_Init()
471 assert_param(IS_I2S_FULLDUPLEX_MODE(hi2s->Init.FullDuplexMode)); in HAL_I2S_Init()
473 if (hi2s->Init.FullDuplexMode == I2S_FULLDUPLEXMODE_ENABLE) in HAL_I2S_Init()
476 hi2s->IrqHandlerISR = HAL_I2SEx_FullDuplex_IRQHandler; in HAL_I2S_Init()
479 …CLEAR_BIT(I2SxEXT(hi2s->Instance)->I2SCFGR, (SPI_I2SCFGR_CHLEN | SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_… in HAL_I2S_Init()
482 I2SxEXT(hi2s->Instance)->I2SPR = 2U; in HAL_I2S_Init()
485 tmpreg = I2SxEXT(hi2s->Instance)->I2SCFGR; in HAL_I2S_Init()
488 if ((hi2s->Init.Mode == I2S_MODE_MASTER_TX) || (hi2s->Init.Mode == I2S_MODE_SLAVE_TX)) in HAL_I2S_Init()
500 (uint16_t)hi2s->Init.Standard | \ in HAL_I2S_Init()
501 (uint16_t)hi2s->Init.DataFormat | \ in HAL_I2S_Init()
502 (uint16_t)hi2s->Init.CPOL); in HAL_I2S_Init()
505 WRITE_REG(I2SxEXT(hi2s->Instance)->I2SCFGR, tmpreg); in HAL_I2S_Init()
509 hi2s->ErrorCode = HAL_I2S_ERROR_NONE; in HAL_I2S_Init()
510 hi2s->State = HAL_I2S_STATE_READY; in HAL_I2S_Init()
521 HAL_StatusTypeDef HAL_I2S_DeInit(I2S_HandleTypeDef *hi2s) in HAL_I2S_DeInit() argument
524 if (hi2s == NULL) in HAL_I2S_DeInit()
530 assert_param(IS_I2S_ALL_INSTANCE(hi2s->Instance)); in HAL_I2S_DeInit()
532 hi2s->State = HAL_I2S_STATE_BUSY; in HAL_I2S_DeInit()
535 __HAL_I2S_DISABLE(hi2s); in HAL_I2S_DeInit()
538 if (hi2s->MspDeInitCallback == NULL) in HAL_I2S_DeInit()
540 hi2s->MspDeInitCallback = HAL_I2S_MspDeInit; /* Legacy weak MspDeInit */ in HAL_I2S_DeInit()
544 hi2s->MspDeInitCallback(hi2s); in HAL_I2S_DeInit()
547 HAL_I2S_MspDeInit(hi2s); in HAL_I2S_DeInit()
550 hi2s->ErrorCode = HAL_I2S_ERROR_NONE; in HAL_I2S_DeInit()
551 hi2s->State = HAL_I2S_STATE_RESET; in HAL_I2S_DeInit()
554 __HAL_UNLOCK(hi2s); in HAL_I2S_DeInit()
565 __weak void HAL_I2S_MspInit(I2S_HandleTypeDef *hi2s) in HAL_I2S_MspInit() argument
568 UNUSED(hi2s); in HAL_I2S_MspInit()
581 __weak void HAL_I2S_MspDeInit(I2S_HandleTypeDef *hi2s) in HAL_I2S_MspDeInit() argument
584 UNUSED(hi2s); in HAL_I2S_MspDeInit()
601 HAL_StatusTypeDef HAL_I2S_RegisterCallback(I2S_HandleTypeDef *hi2s, HAL_I2S_CallbackIDTypeDef Callb… in HAL_I2S_RegisterCallback() argument
609 hi2s->ErrorCode |= HAL_I2S_ERROR_INVALID_CALLBACK; in HAL_I2S_RegisterCallback()
614 __HAL_LOCK(hi2s); in HAL_I2S_RegisterCallback()
616 if (HAL_I2S_STATE_READY == hi2s->State) in HAL_I2S_RegisterCallback()
621 hi2s->TxCpltCallback = pCallback; in HAL_I2S_RegisterCallback()
625 hi2s->RxCpltCallback = pCallback; in HAL_I2S_RegisterCallback()
630 hi2s->TxRxCpltCallback = pCallback; in HAL_I2S_RegisterCallback()
635 hi2s->TxHalfCpltCallback = pCallback; in HAL_I2S_RegisterCallback()
639 hi2s->RxHalfCpltCallback = pCallback; in HAL_I2S_RegisterCallback()
644 hi2s->TxRxHalfCpltCallback = pCallback; in HAL_I2S_RegisterCallback()
649 hi2s->ErrorCallback = pCallback; in HAL_I2S_RegisterCallback()
653 hi2s->MspInitCallback = pCallback; in HAL_I2S_RegisterCallback()
657 hi2s->MspDeInitCallback = pCallback; in HAL_I2S_RegisterCallback()
662 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_INVALID_CALLBACK); in HAL_I2S_RegisterCallback()
669 else if (HAL_I2S_STATE_RESET == hi2s->State) in HAL_I2S_RegisterCallback()
674 hi2s->MspInitCallback = pCallback; in HAL_I2S_RegisterCallback()
678 hi2s->MspDeInitCallback = pCallback; in HAL_I2S_RegisterCallback()
683 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_INVALID_CALLBACK); in HAL_I2S_RegisterCallback()
693 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_INVALID_CALLBACK); in HAL_I2S_RegisterCallback()
700 __HAL_UNLOCK(hi2s); in HAL_I2S_RegisterCallback()
712 HAL_StatusTypeDef HAL_I2S_UnRegisterCallback(I2S_HandleTypeDef *hi2s, HAL_I2S_CallbackIDTypeDef Cal… in HAL_I2S_UnRegisterCallback() argument
717 __HAL_LOCK(hi2s); in HAL_I2S_UnRegisterCallback()
719 if (HAL_I2S_STATE_READY == hi2s->State) in HAL_I2S_UnRegisterCallback()
724 …hi2s->TxCpltCallback = HAL_I2S_TxCpltCallback; /* Legacy weak TxCpltCallback … in HAL_I2S_UnRegisterCallback()
728 …hi2s->RxCpltCallback = HAL_I2S_RxCpltCallback; /* Legacy weak RxCpltCallback … in HAL_I2S_UnRegisterCallback()
733 …hi2s->TxRxCpltCallback = HAL_I2SEx_TxRxCpltCallback; /* Legacy weak TxRxCpltCallback … in HAL_I2S_UnRegisterCallback()
738 …hi2s->TxHalfCpltCallback = HAL_I2S_TxHalfCpltCallback; /* Legacy weak TxHalfCpltCallback … in HAL_I2S_UnRegisterCallback()
742 …hi2s->RxHalfCpltCallback = HAL_I2S_RxHalfCpltCallback; /* Legacy weak RxHalfCpltCallback … in HAL_I2S_UnRegisterCallback()
747 …hi2s->TxRxHalfCpltCallback = HAL_I2SEx_TxRxHalfCpltCallback; /* Legacy weak TxRxHalfCpltCallback … in HAL_I2S_UnRegisterCallback()
752 …hi2s->ErrorCallback = HAL_I2S_ErrorCallback; /* Legacy weak ErrorCallback … in HAL_I2S_UnRegisterCallback()
756 …hi2s->MspInitCallback = HAL_I2S_MspInit; /* Legacy weak MspInit … in HAL_I2S_UnRegisterCallback()
760 …hi2s->MspDeInitCallback = HAL_I2S_MspDeInit; /* Legacy weak MspDeInit … in HAL_I2S_UnRegisterCallback()
765 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_INVALID_CALLBACK); in HAL_I2S_UnRegisterCallback()
772 else if (HAL_I2S_STATE_RESET == hi2s->State) in HAL_I2S_UnRegisterCallback()
777 …hi2s->MspInitCallback = HAL_I2S_MspInit; /* Legacy weak MspInit … in HAL_I2S_UnRegisterCallback()
781 …hi2s->MspDeInitCallback = HAL_I2S_MspDeInit; /* Legacy weak MspDeInit … in HAL_I2S_UnRegisterCallback()
786 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_INVALID_CALLBACK); in HAL_I2S_UnRegisterCallback()
796 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_INVALID_CALLBACK); in HAL_I2S_UnRegisterCallback()
803 __HAL_UNLOCK(hi2s); in HAL_I2S_UnRegisterCallback()
868 HAL_StatusTypeDef HAL_I2S_Transmit(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_… in HAL_I2S_Transmit() argument
877 if (hi2s->State != HAL_I2S_STATE_READY) in HAL_I2S_Transmit()
883 __HAL_LOCK(hi2s); in HAL_I2S_Transmit()
886 hi2s->State = HAL_I2S_STATE_BUSY_TX; in HAL_I2S_Transmit()
887 hi2s->ErrorCode = HAL_I2S_ERROR_NONE; in HAL_I2S_Transmit()
888 hi2s->pTxBuffPtr = pData; in HAL_I2S_Transmit()
890 tmpreg_cfgr = hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN); in HAL_I2S_Transmit()
894 hi2s->TxXferSize = (Size << 1U); in HAL_I2S_Transmit()
895 hi2s->TxXferCount = (Size << 1U); in HAL_I2S_Transmit()
899 hi2s->TxXferSize = Size; in HAL_I2S_Transmit()
900 hi2s->TxXferCount = Size; in HAL_I2S_Transmit()
903 tmpreg_cfgr = hi2s->Instance->I2SCFGR; in HAL_I2S_Transmit()
906 if ((hi2s->Instance->I2SCFGR & SPI_I2SCFGR_I2SE) != SPI_I2SCFGR_I2SE) in HAL_I2S_Transmit()
909 __HAL_I2S_ENABLE(hi2s); in HAL_I2S_Transmit()
913 if (I2S_WaitFlagStateUntilTimeout(hi2s, I2S_FLAG_TXE, SET, Timeout) != HAL_OK) in HAL_I2S_Transmit()
916 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_TIMEOUT); in HAL_I2S_Transmit()
917 hi2s->State = HAL_I2S_STATE_READY; in HAL_I2S_Transmit()
918 __HAL_UNLOCK(hi2s); in HAL_I2S_Transmit()
922 while (hi2s->TxXferCount > 0U) in HAL_I2S_Transmit()
924 hi2s->Instance->DR = (*hi2s->pTxBuffPtr); in HAL_I2S_Transmit()
925 hi2s->pTxBuffPtr++; in HAL_I2S_Transmit()
926 hi2s->TxXferCount--; in HAL_I2S_Transmit()
929 if (I2S_WaitFlagStateUntilTimeout(hi2s, I2S_FLAG_TXE, SET, Timeout) != HAL_OK) in HAL_I2S_Transmit()
932 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_TIMEOUT); in HAL_I2S_Transmit()
933 hi2s->State = HAL_I2S_STATE_READY; in HAL_I2S_Transmit()
934 __HAL_UNLOCK(hi2s); in HAL_I2S_Transmit()
939 if (__HAL_I2S_GET_FLAG(hi2s, I2S_FLAG_UDR) == SET) in HAL_I2S_Transmit()
942 __HAL_I2S_CLEAR_UDRFLAG(hi2s); in HAL_I2S_Transmit()
945 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_UDR); in HAL_I2S_Transmit()
954 if (I2S_WaitFlagStateUntilTimeout(hi2s, I2S_FLAG_BSY, RESET, Timeout) != HAL_OK) in HAL_I2S_Transmit()
957 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_TIMEOUT); in HAL_I2S_Transmit()
958 hi2s->State = HAL_I2S_STATE_READY; in HAL_I2S_Transmit()
959 __HAL_UNLOCK(hi2s); in HAL_I2S_Transmit()
964 hi2s->State = HAL_I2S_STATE_READY; in HAL_I2S_Transmit()
965 __HAL_UNLOCK(hi2s); in HAL_I2S_Transmit()
986 HAL_StatusTypeDef HAL_I2S_Receive(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size, uint32_t… in HAL_I2S_Receive() argument
995 if (hi2s->State != HAL_I2S_STATE_READY) in HAL_I2S_Receive()
1001 __HAL_LOCK(hi2s); in HAL_I2S_Receive()
1004 hi2s->State = HAL_I2S_STATE_BUSY_RX; in HAL_I2S_Receive()
1005 hi2s->ErrorCode = HAL_I2S_ERROR_NONE; in HAL_I2S_Receive()
1006 hi2s->pRxBuffPtr = pData; in HAL_I2S_Receive()
1008 tmpreg_cfgr = hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN); in HAL_I2S_Receive()
1012 hi2s->RxXferSize = (Size << 1U); in HAL_I2S_Receive()
1013 hi2s->RxXferCount = (Size << 1U); in HAL_I2S_Receive()
1017 hi2s->RxXferSize = Size; in HAL_I2S_Receive()
1018 hi2s->RxXferCount = Size; in HAL_I2S_Receive()
1022 if ((hi2s->Instance->I2SCFGR & SPI_I2SCFGR_I2SE) != SPI_I2SCFGR_I2SE) in HAL_I2S_Receive()
1025 __HAL_I2S_ENABLE(hi2s); in HAL_I2S_Receive()
1029 if ((hi2s->Instance->I2SCFGR & SPI_I2SCFGR_I2SCFG) == I2S_MODE_MASTER_RX) in HAL_I2S_Receive()
1033 __HAL_I2S_CLEAR_OVRFLAG(hi2s); in HAL_I2S_Receive()
1037 while (hi2s->RxXferCount > 0U) in HAL_I2S_Receive()
1040 if (I2S_WaitFlagStateUntilTimeout(hi2s, I2S_FLAG_RXNE, SET, Timeout) != HAL_OK) in HAL_I2S_Receive()
1043 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_TIMEOUT); in HAL_I2S_Receive()
1044 hi2s->State = HAL_I2S_STATE_READY; in HAL_I2S_Receive()
1045 __HAL_UNLOCK(hi2s); in HAL_I2S_Receive()
1049 (*hi2s->pRxBuffPtr) = (uint16_t)hi2s->Instance->DR; in HAL_I2S_Receive()
1050 hi2s->pRxBuffPtr++; in HAL_I2S_Receive()
1051 hi2s->RxXferCount--; in HAL_I2S_Receive()
1054 if (__HAL_I2S_GET_FLAG(hi2s, I2S_FLAG_OVR) == SET) in HAL_I2S_Receive()
1057 __HAL_I2S_CLEAR_OVRFLAG(hi2s); in HAL_I2S_Receive()
1060 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_OVR); in HAL_I2S_Receive()
1064 hi2s->State = HAL_I2S_STATE_READY; in HAL_I2S_Receive()
1065 __HAL_UNLOCK(hi2s); in HAL_I2S_Receive()
1083 HAL_StatusTypeDef HAL_I2S_Transmit_IT(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size) in HAL_I2S_Transmit_IT() argument
1092 if (hi2s->State != HAL_I2S_STATE_READY) in HAL_I2S_Transmit_IT()
1098 __HAL_LOCK(hi2s); in HAL_I2S_Transmit_IT()
1101 hi2s->State = HAL_I2S_STATE_BUSY_TX; in HAL_I2S_Transmit_IT()
1102 hi2s->ErrorCode = HAL_I2S_ERROR_NONE; in HAL_I2S_Transmit_IT()
1103 hi2s->pTxBuffPtr = pData; in HAL_I2S_Transmit_IT()
1105 tmpreg_cfgr = hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN); in HAL_I2S_Transmit_IT()
1109 hi2s->TxXferSize = (Size << 1U); in HAL_I2S_Transmit_IT()
1110 hi2s->TxXferCount = (Size << 1U); in HAL_I2S_Transmit_IT()
1114 hi2s->TxXferSize = Size; in HAL_I2S_Transmit_IT()
1115 hi2s->TxXferCount = Size; in HAL_I2S_Transmit_IT()
1118 __HAL_UNLOCK(hi2s); in HAL_I2S_Transmit_IT()
1121 __HAL_I2S_ENABLE_IT(hi2s, (I2S_IT_TXE | I2S_IT_ERR)); in HAL_I2S_Transmit_IT()
1124 if ((hi2s->Instance->I2SCFGR & SPI_I2SCFGR_I2SE) != SPI_I2SCFGR_I2SE) in HAL_I2S_Transmit_IT()
1127 __HAL_I2S_ENABLE(hi2s); in HAL_I2S_Transmit_IT()
1149 HAL_StatusTypeDef HAL_I2S_Receive_IT(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size) in HAL_I2S_Receive_IT() argument
1158 if (hi2s->State != HAL_I2S_STATE_READY) in HAL_I2S_Receive_IT()
1164 __HAL_LOCK(hi2s); in HAL_I2S_Receive_IT()
1167 hi2s->State = HAL_I2S_STATE_BUSY_RX; in HAL_I2S_Receive_IT()
1168 hi2s->ErrorCode = HAL_I2S_ERROR_NONE; in HAL_I2S_Receive_IT()
1169 hi2s->pRxBuffPtr = pData; in HAL_I2S_Receive_IT()
1171 tmpreg_cfgr = hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN); in HAL_I2S_Receive_IT()
1175 hi2s->RxXferSize = (Size << 1U); in HAL_I2S_Receive_IT()
1176 hi2s->RxXferCount = (Size << 1U); in HAL_I2S_Receive_IT()
1180 hi2s->RxXferSize = Size; in HAL_I2S_Receive_IT()
1181 hi2s->RxXferCount = Size; in HAL_I2S_Receive_IT()
1184 __HAL_UNLOCK(hi2s); in HAL_I2S_Receive_IT()
1187 __HAL_I2S_ENABLE_IT(hi2s, (I2S_IT_RXNE | I2S_IT_ERR)); in HAL_I2S_Receive_IT()
1190 if ((hi2s->Instance->I2SCFGR & SPI_I2SCFGR_I2SE) != SPI_I2SCFGR_I2SE) in HAL_I2S_Receive_IT()
1193 __HAL_I2S_ENABLE(hi2s); in HAL_I2S_Receive_IT()
1213 HAL_StatusTypeDef HAL_I2S_Transmit_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size) in HAL_I2S_Transmit_DMA() argument
1222 if (hi2s->State != HAL_I2S_STATE_READY) in HAL_I2S_Transmit_DMA()
1228 __HAL_LOCK(hi2s); in HAL_I2S_Transmit_DMA()
1231 hi2s->State = HAL_I2S_STATE_BUSY_TX; in HAL_I2S_Transmit_DMA()
1232 hi2s->ErrorCode = HAL_I2S_ERROR_NONE; in HAL_I2S_Transmit_DMA()
1233 hi2s->pTxBuffPtr = pData; in HAL_I2S_Transmit_DMA()
1235 tmpreg_cfgr = hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN); in HAL_I2S_Transmit_DMA()
1239 hi2s->TxXferSize = (Size << 1U); in HAL_I2S_Transmit_DMA()
1240 hi2s->TxXferCount = (Size << 1U); in HAL_I2S_Transmit_DMA()
1244 hi2s->TxXferSize = Size; in HAL_I2S_Transmit_DMA()
1245 hi2s->TxXferCount = Size; in HAL_I2S_Transmit_DMA()
1249 hi2s->hdmatx->XferHalfCpltCallback = I2S_DMATxHalfCplt; in HAL_I2S_Transmit_DMA()
1252 hi2s->hdmatx->XferCpltCallback = I2S_DMATxCplt; in HAL_I2S_Transmit_DMA()
1255 hi2s->hdmatx->XferErrorCallback = I2S_DMAError; in HAL_I2S_Transmit_DMA()
1258 if (HAL_OK != HAL_DMA_Start_IT(hi2s->hdmatx, in HAL_I2S_Transmit_DMA()
1259 (uint32_t)hi2s->pTxBuffPtr, in HAL_I2S_Transmit_DMA()
1260 (uint32_t)&hi2s->Instance->DR, in HAL_I2S_Transmit_DMA()
1261 hi2s->TxXferSize)) in HAL_I2S_Transmit_DMA()
1264 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_DMA); in HAL_I2S_Transmit_DMA()
1265 hi2s->State = HAL_I2S_STATE_READY; in HAL_I2S_Transmit_DMA()
1267 __HAL_UNLOCK(hi2s); in HAL_I2S_Transmit_DMA()
1271 __HAL_UNLOCK(hi2s); in HAL_I2S_Transmit_DMA()
1274 if (HAL_IS_BIT_CLR(hi2s->Instance->CR2, SPI_CR2_TXDMAEN)) in HAL_I2S_Transmit_DMA()
1277 SET_BIT(hi2s->Instance->CR2, SPI_CR2_TXDMAEN); in HAL_I2S_Transmit_DMA()
1281 if (HAL_IS_BIT_CLR(hi2s->Instance->I2SCFGR, SPI_I2SCFGR_I2SE)) in HAL_I2S_Transmit_DMA()
1284 __HAL_I2S_ENABLE(hi2s); in HAL_I2S_Transmit_DMA()
1304 HAL_StatusTypeDef HAL_I2S_Receive_DMA(I2S_HandleTypeDef *hi2s, uint16_t *pData, uint16_t Size) in HAL_I2S_Receive_DMA() argument
1313 if (hi2s->State != HAL_I2S_STATE_READY) in HAL_I2S_Receive_DMA()
1319 __HAL_LOCK(hi2s); in HAL_I2S_Receive_DMA()
1322 hi2s->State = HAL_I2S_STATE_BUSY_RX; in HAL_I2S_Receive_DMA()
1323 hi2s->ErrorCode = HAL_I2S_ERROR_NONE; in HAL_I2S_Receive_DMA()
1324 hi2s->pRxBuffPtr = pData; in HAL_I2S_Receive_DMA()
1326 tmpreg_cfgr = hi2s->Instance->I2SCFGR & (SPI_I2SCFGR_DATLEN | SPI_I2SCFGR_CHLEN); in HAL_I2S_Receive_DMA()
1330 hi2s->RxXferSize = (Size << 1U); in HAL_I2S_Receive_DMA()
1331 hi2s->RxXferCount = (Size << 1U); in HAL_I2S_Receive_DMA()
1335 hi2s->RxXferSize = Size; in HAL_I2S_Receive_DMA()
1336 hi2s->RxXferCount = Size; in HAL_I2S_Receive_DMA()
1340 hi2s->hdmarx->XferHalfCpltCallback = I2S_DMARxHalfCplt; in HAL_I2S_Receive_DMA()
1343 hi2s->hdmarx->XferCpltCallback = I2S_DMARxCplt; in HAL_I2S_Receive_DMA()
1346 hi2s->hdmarx->XferErrorCallback = I2S_DMAError; in HAL_I2S_Receive_DMA()
1349 if ((hi2s->Instance->I2SCFGR & SPI_I2SCFGR_I2SCFG) == I2S_MODE_MASTER_RX) in HAL_I2S_Receive_DMA()
1353 __HAL_I2S_CLEAR_OVRFLAG(hi2s); in HAL_I2S_Receive_DMA()
1357 …if (HAL_OK != HAL_DMA_Start_IT(hi2s->hdmarx, (uint32_t)&hi2s->Instance->DR, (uint32_t)hi2s->pRxBuf… in HAL_I2S_Receive_DMA()
1358 hi2s->RxXferSize)) in HAL_I2S_Receive_DMA()
1361 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_DMA); in HAL_I2S_Receive_DMA()
1362 hi2s->State = HAL_I2S_STATE_READY; in HAL_I2S_Receive_DMA()
1364 __HAL_UNLOCK(hi2s); in HAL_I2S_Receive_DMA()
1368 __HAL_UNLOCK(hi2s); in HAL_I2S_Receive_DMA()
1371 if (HAL_IS_BIT_CLR(hi2s->Instance->CR2, SPI_CR2_RXDMAEN)) in HAL_I2S_Receive_DMA()
1374 SET_BIT(hi2s->Instance->CR2, SPI_CR2_RXDMAEN); in HAL_I2S_Receive_DMA()
1378 if (HAL_IS_BIT_CLR(hi2s->Instance->I2SCFGR, SPI_I2SCFGR_I2SE)) in HAL_I2S_Receive_DMA()
1381 __HAL_I2S_ENABLE(hi2s); in HAL_I2S_Receive_DMA()
1393 HAL_StatusTypeDef HAL_I2S_DMAPause(I2S_HandleTypeDef *hi2s) in HAL_I2S_DMAPause() argument
1396 __HAL_LOCK(hi2s); in HAL_I2S_DMAPause()
1398 if (hi2s->State == HAL_I2S_STATE_BUSY_TX) in HAL_I2S_DMAPause()
1401 CLEAR_BIT(hi2s->Instance->CR2, SPI_CR2_TXDMAEN); in HAL_I2S_DMAPause()
1403 else if (hi2s->State == HAL_I2S_STATE_BUSY_RX) in HAL_I2S_DMAPause()
1406 CLEAR_BIT(hi2s->Instance->CR2, SPI_CR2_RXDMAEN); in HAL_I2S_DMAPause()
1409 else if (hi2s->State == HAL_I2S_STATE_BUSY_TX_RX) in HAL_I2S_DMAPause()
1412 CLEAR_BIT(hi2s->Instance->CR2, (SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN)); in HAL_I2S_DMAPause()
1413 CLEAR_BIT(I2SxEXT(hi2s->Instance)->CR2, (SPI_CR2_TXDMAEN | SPI_CR2_RXDMAEN)); in HAL_I2S_DMAPause()
1422 __HAL_UNLOCK(hi2s); in HAL_I2S_DMAPause()
1433 HAL_StatusTypeDef HAL_I2S_DMAResume(I2S_HandleTypeDef *hi2s) in HAL_I2S_DMAResume() argument
1436 __HAL_LOCK(hi2s); in HAL_I2S_DMAResume()
1438 if (hi2s->State == HAL_I2S_STATE_BUSY_TX) in HAL_I2S_DMAResume()
1441 SET_BIT(hi2s->Instance->CR2, SPI_CR2_TXDMAEN); in HAL_I2S_DMAResume()
1443 else if (hi2s->State == HAL_I2S_STATE_BUSY_RX) in HAL_I2S_DMAResume()
1446 SET_BIT(hi2s->Instance->CR2, SPI_CR2_RXDMAEN); in HAL_I2S_DMAResume()
1449 else if (hi2s->State == HAL_I2S_STATE_BUSY_TX_RX) in HAL_I2S_DMAResume()
1452 SET_BIT(hi2s->Instance->CR2, (SPI_CR2_RXDMAEN | SPI_CR2_TXDMAEN)); in HAL_I2S_DMAResume()
1453 SET_BIT(I2SxEXT(hi2s->Instance)->CR2, (SPI_CR2_RXDMAEN | SPI_CR2_TXDMAEN)); in HAL_I2S_DMAResume()
1456 if ((I2SxEXT(hi2s->Instance)->I2SCFGR & SPI_I2SCFGR_I2SE) == 0U) in HAL_I2S_DMAResume()
1459 __HAL_I2SEXT_ENABLE(hi2s); in HAL_I2S_DMAResume()
1469 if (HAL_IS_BIT_CLR(hi2s->Instance->I2SCFGR, SPI_I2SCFGR_I2SE)) in HAL_I2S_DMAResume()
1472 __HAL_I2S_ENABLE(hi2s); in HAL_I2S_DMAResume()
1476 __HAL_UNLOCK(hi2s); in HAL_I2S_DMAResume()
1487 HAL_StatusTypeDef HAL_I2S_DMAStop(I2S_HandleTypeDef *hi2s) in HAL_I2S_DMAStop() argument
1499 if ((hi2s->Init.Mode == I2S_MODE_MASTER_TX) || (hi2s->Init.Mode == I2S_MODE_SLAVE_TX)) in HAL_I2S_DMAStop()
1502 if (hi2s->hdmatx != NULL) in HAL_I2S_DMAStop()
1505 if (HAL_OK != HAL_DMA_Abort(hi2s->hdmatx)) in HAL_I2S_DMAStop()
1507 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_DMA); in HAL_I2S_DMAStop()
1513 if (I2S_WaitFlagStateUntilTimeout(hi2s, I2S_FLAG_TXE, SET, I2S_TIMEOUT_FLAG) != HAL_OK) in HAL_I2S_DMAStop()
1516 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_TIMEOUT); in HAL_I2S_DMAStop()
1517 hi2s->State = HAL_I2S_STATE_READY; in HAL_I2S_DMAStop()
1522 if (I2S_WaitFlagStateUntilTimeout(hi2s, I2S_FLAG_BSY, RESET, I2S_TIMEOUT_FLAG) != HAL_OK) in HAL_I2S_DMAStop()
1525 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_TIMEOUT); in HAL_I2S_DMAStop()
1526 hi2s->State = HAL_I2S_STATE_READY; in HAL_I2S_DMAStop()
1531 __HAL_I2S_DISABLE(hi2s); in HAL_I2S_DMAStop()
1534 __HAL_I2S_CLEAR_UDRFLAG(hi2s); in HAL_I2S_DMAStop()
1537 CLEAR_BIT(hi2s->Instance->CR2, SPI_CR2_TXDMAEN); in HAL_I2S_DMAStop()
1541 if (hi2s->State == HAL_I2S_STATE_BUSY_TX_RX) in HAL_I2S_DMAStop()
1544 if (hi2s->hdmarx != NULL) in HAL_I2S_DMAStop()
1547 if (HAL_OK != HAL_DMA_Abort(hi2s->hdmarx)) in HAL_I2S_DMAStop()
1549 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_DMA); in HAL_I2S_DMAStop()
1555 __HAL_I2SEXT_DISABLE(hi2s); in HAL_I2S_DMAStop()
1558 __HAL_I2SEXT_CLEAR_OVRFLAG(hi2s); in HAL_I2S_DMAStop()
1561 CLEAR_BIT(I2SxEXT(hi2s->Instance)->CR2, SPI_CR2_RXDMAEN); in HAL_I2S_DMAStop()
1563 if (hi2s->Init.Mode == I2S_MODE_SLAVE_TX) in HAL_I2S_DMAStop()
1566 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_BUSY_LINE_RX); in HAL_I2S_DMAStop()
1569 hi2s->State = HAL_I2S_STATE_READY; in HAL_I2S_DMAStop()
1575 READ_REG(I2SxEXT(hi2s->Instance)->DR); in HAL_I2S_DMAStop()
1581 else if ((hi2s->Init.Mode == I2S_MODE_MASTER_RX) || (hi2s->Init.Mode == I2S_MODE_SLAVE_RX)) in HAL_I2S_DMAStop()
1584 if (hi2s->hdmarx != NULL) in HAL_I2S_DMAStop()
1587 if (HAL_OK != HAL_DMA_Abort(hi2s->hdmarx)) in HAL_I2S_DMAStop()
1589 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_DMA); in HAL_I2S_DMAStop()
1595 if (hi2s->State == HAL_I2S_STATE_BUSY_TX_RX) in HAL_I2S_DMAStop()
1598 if (hi2s->hdmatx != NULL) in HAL_I2S_DMAStop()
1601 if (HAL_OK != HAL_DMA_Abort(hi2s->hdmatx)) in HAL_I2S_DMAStop()
1603 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_DMA); in HAL_I2S_DMAStop()
1611 while (__HAL_I2SEXT_GET_FLAG(hi2s, I2S_FLAG_TXE) != SET) in HAL_I2S_DMAStop()
1616 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_TIMEOUT); in HAL_I2S_DMAStop()
1619 hi2s->State = HAL_I2S_STATE_READY; in HAL_I2S_DMAStop()
1625 while (__HAL_I2SEXT_GET_FLAG(hi2s, I2S_FLAG_BSY) != RESET) in HAL_I2S_DMAStop()
1630 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_TIMEOUT); in HAL_I2S_DMAStop()
1633 hi2s->State = HAL_I2S_STATE_READY; in HAL_I2S_DMAStop()
1639 __HAL_I2SEXT_DISABLE(hi2s); in HAL_I2S_DMAStop()
1642 __HAL_I2SEXT_CLEAR_UDRFLAG(hi2s); in HAL_I2S_DMAStop()
1645 CLEAR_BIT(I2SxEXT(hi2s->Instance)->CR2, SPI_CR2_TXDMAEN); in HAL_I2S_DMAStop()
1650 __HAL_I2S_DISABLE(hi2s); in HAL_I2S_DMAStop()
1653 __HAL_I2S_CLEAR_OVRFLAG(hi2s); in HAL_I2S_DMAStop()
1656 CLEAR_BIT(hi2s->Instance->CR2, SPI_CR2_RXDMAEN); in HAL_I2S_DMAStop()
1658 if (hi2s->Init.Mode == I2S_MODE_SLAVE_RX) in HAL_I2S_DMAStop()
1661 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_BUSY_LINE_RX); in HAL_I2S_DMAStop()
1664 hi2s->State = HAL_I2S_STATE_READY; in HAL_I2S_DMAStop()
1670 READ_REG((hi2s->Instance)->DR); in HAL_I2S_DMAStop()
1674 hi2s->State = HAL_I2S_STATE_READY; in HAL_I2S_DMAStop()
1685 void HAL_I2S_IRQHandler(I2S_HandleTypeDef *hi2s) in HAL_I2S_IRQHandler() argument
1688 hi2s->IrqHandlerISR(hi2s); in HAL_I2S_IRQHandler()
1697 __weak void HAL_I2S_TxHalfCpltCallback(I2S_HandleTypeDef *hi2s) in HAL_I2S_TxHalfCpltCallback() argument
1700 UNUSED(hi2s); in HAL_I2S_TxHalfCpltCallback()
1713 __weak void HAL_I2S_TxCpltCallback(I2S_HandleTypeDef *hi2s) in HAL_I2S_TxCpltCallback() argument
1716 UNUSED(hi2s); in HAL_I2S_TxCpltCallback()
1729 __weak void HAL_I2S_RxHalfCpltCallback(I2S_HandleTypeDef *hi2s) in HAL_I2S_RxHalfCpltCallback() argument
1732 UNUSED(hi2s); in HAL_I2S_RxHalfCpltCallback()
1745 __weak void HAL_I2S_RxCpltCallback(I2S_HandleTypeDef *hi2s) in HAL_I2S_RxCpltCallback() argument
1748 UNUSED(hi2s); in HAL_I2S_RxCpltCallback()
1761 __weak void HAL_I2S_ErrorCallback(I2S_HandleTypeDef *hi2s) in HAL_I2S_ErrorCallback() argument
1764 UNUSED(hi2s); in HAL_I2S_ErrorCallback()
1796 HAL_I2S_StateTypeDef HAL_I2S_GetState(I2S_HandleTypeDef *hi2s) in HAL_I2S_GetState() argument
1798 return hi2s->State; in HAL_I2S_GetState()
1807 uint32_t HAL_I2S_GetError(I2S_HandleTypeDef *hi2s) in HAL_I2S_GetError() argument
1809 return hi2s->ErrorCode; in HAL_I2S_GetError()
1830 …I2S_HandleTypeDef *hi2s = (I2S_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation … in I2S_DMATxCplt() local
1836 CLEAR_BIT(hi2s->Instance->CR2, SPI_CR2_TXDMAEN); in I2S_DMATxCplt()
1838 hi2s->TxXferCount = 0U; in I2S_DMATxCplt()
1839 hi2s->State = HAL_I2S_STATE_READY; in I2S_DMATxCplt()
1843 hi2s->TxCpltCallback(hi2s); in I2S_DMATxCplt()
1845 HAL_I2S_TxCpltCallback(hi2s); in I2S_DMATxCplt()
1857 …I2S_HandleTypeDef *hi2s = (I2S_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation … in I2S_DMATxHalfCplt() local
1861 hi2s->TxHalfCpltCallback(hi2s); in I2S_DMATxHalfCplt()
1863 HAL_I2S_TxHalfCpltCallback(hi2s); in I2S_DMATxHalfCplt()
1875 …I2S_HandleTypeDef *hi2s = (I2S_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation … in I2S_DMARxCplt() local
1881 CLEAR_BIT(hi2s->Instance->CR2, SPI_CR2_RXDMAEN); in I2S_DMARxCplt()
1882 hi2s->RxXferCount = 0U; in I2S_DMARxCplt()
1883 hi2s->State = HAL_I2S_STATE_READY; in I2S_DMARxCplt()
1887 hi2s->RxCpltCallback(hi2s); in I2S_DMARxCplt()
1889 HAL_I2S_RxCpltCallback(hi2s); in I2S_DMARxCplt()
1901 …I2S_HandleTypeDef *hi2s = (I2S_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation … in I2S_DMARxHalfCplt() local
1905 hi2s->RxHalfCpltCallback(hi2s); in I2S_DMARxHalfCplt()
1907 HAL_I2S_RxHalfCpltCallback(hi2s); in I2S_DMARxHalfCplt()
1919 …I2S_HandleTypeDef *hi2s = (I2S_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; /* Derogation … in I2S_DMAError() local
1922 CLEAR_BIT(hi2s->Instance->CR2, (SPI_CR2_RXDMAEN | SPI_CR2_TXDMAEN)); in I2S_DMAError()
1923 hi2s->TxXferCount = 0U; in I2S_DMAError()
1924 hi2s->RxXferCount = 0U; in I2S_DMAError()
1926 hi2s->State = HAL_I2S_STATE_READY; in I2S_DMAError()
1929 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_DMA); in I2S_DMAError()
1932 hi2s->ErrorCallback(hi2s); in I2S_DMAError()
1934 HAL_I2S_ErrorCallback(hi2s); in I2S_DMAError()
1944 static void I2S_Transmit_IT(I2S_HandleTypeDef *hi2s) in I2S_Transmit_IT() argument
1947 hi2s->Instance->DR = (*hi2s->pTxBuffPtr); in I2S_Transmit_IT()
1948 hi2s->pTxBuffPtr++; in I2S_Transmit_IT()
1949 hi2s->TxXferCount--; in I2S_Transmit_IT()
1951 if (hi2s->TxXferCount == 0U) in I2S_Transmit_IT()
1954 __HAL_I2S_DISABLE_IT(hi2s, (I2S_IT_TXE | I2S_IT_ERR)); in I2S_Transmit_IT()
1956 hi2s->State = HAL_I2S_STATE_READY; in I2S_Transmit_IT()
1959 hi2s->TxCpltCallback(hi2s); in I2S_Transmit_IT()
1961 HAL_I2S_TxCpltCallback(hi2s); in I2S_Transmit_IT()
1972 static void I2S_Receive_IT(I2S_HandleTypeDef *hi2s) in I2S_Receive_IT() argument
1975 (*hi2s->pRxBuffPtr) = (uint16_t)hi2s->Instance->DR; in I2S_Receive_IT()
1976 hi2s->pRxBuffPtr++; in I2S_Receive_IT()
1977 hi2s->RxXferCount--; in I2S_Receive_IT()
1979 if (hi2s->RxXferCount == 0U) in I2S_Receive_IT()
1982 __HAL_I2S_DISABLE_IT(hi2s, (I2S_IT_RXNE | I2S_IT_ERR)); in I2S_Receive_IT()
1984 hi2s->State = HAL_I2S_STATE_READY; in I2S_Receive_IT()
1987 hi2s->RxCpltCallback(hi2s); in I2S_Receive_IT()
1989 HAL_I2S_RxCpltCallback(hi2s); in I2S_Receive_IT()
2000 static void I2S_IRQHandler(I2S_HandleTypeDef *hi2s) in I2S_IRQHandler() argument
2002 __IO uint32_t i2ssr = hi2s->Instance->SR; in I2S_IRQHandler()
2004 if (hi2s->State == HAL_I2S_STATE_BUSY_RX) in I2S_IRQHandler()
2007 …if (((i2ssr & I2S_FLAG_RXNE) == I2S_FLAG_RXNE) && (__HAL_I2S_GET_IT_SOURCE(hi2s, I2S_IT_RXNE) != R… in I2S_IRQHandler()
2009 I2S_Receive_IT(hi2s); in I2S_IRQHandler()
2013 …if (((i2ssr & I2S_FLAG_OVR) == I2S_FLAG_OVR) && (__HAL_I2S_GET_IT_SOURCE(hi2s, I2S_IT_ERR) != RESE… in I2S_IRQHandler()
2016 __HAL_I2S_DISABLE_IT(hi2s, (I2S_IT_RXNE | I2S_IT_ERR)); in I2S_IRQHandler()
2019 __HAL_I2S_CLEAR_OVRFLAG(hi2s); in I2S_IRQHandler()
2022 hi2s->State = HAL_I2S_STATE_READY; in I2S_IRQHandler()
2026 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_OVR); in I2S_IRQHandler()
2029 hi2s->ErrorCallback(hi2s); in I2S_IRQHandler()
2031 HAL_I2S_ErrorCallback(hi2s); in I2S_IRQHandler()
2036 if (hi2s->State == HAL_I2S_STATE_BUSY_TX) in I2S_IRQHandler()
2039 …if (((i2ssr & I2S_FLAG_TXE) == I2S_FLAG_TXE) && (__HAL_I2S_GET_IT_SOURCE(hi2s, I2S_IT_TXE) != RESE… in I2S_IRQHandler()
2041 I2S_Transmit_IT(hi2s); in I2S_IRQHandler()
2045 …if (((i2ssr & I2S_FLAG_UDR) == I2S_FLAG_UDR) && (__HAL_I2S_GET_IT_SOURCE(hi2s, I2S_IT_ERR) != RESE… in I2S_IRQHandler()
2048 __HAL_I2S_DISABLE_IT(hi2s, (I2S_IT_TXE | I2S_IT_ERR)); in I2S_IRQHandler()
2051 __HAL_I2S_CLEAR_UDRFLAG(hi2s); in I2S_IRQHandler()
2054 hi2s->State = HAL_I2S_STATE_READY; in I2S_IRQHandler()
2057 SET_BIT(hi2s->ErrorCode, HAL_I2S_ERROR_UDR); in I2S_IRQHandler()
2060 hi2s->ErrorCallback(hi2s); in I2S_IRQHandler()
2062 HAL_I2S_ErrorCallback(hi2s); in I2S_IRQHandler()
2077 static HAL_StatusTypeDef I2S_WaitFlagStateUntilTimeout(I2S_HandleTypeDef *hi2s, uint32_t Flag, Flag… in I2S_WaitFlagStateUntilTimeout() argument
2086 while (((__HAL_I2S_GET_FLAG(hi2s, Flag)) ? SET : RESET) != State) in I2S_WaitFlagStateUntilTimeout()
2093 hi2s->State = HAL_I2S_STATE_READY; in I2S_WaitFlagStateUntilTimeout()
2096 __HAL_UNLOCK(hi2s); in I2S_WaitFlagStateUntilTimeout()