Lines Matching refs:hsmartcard

231 void SMARTCARD_InitCallbacksToDefault(SMARTCARD_HandleTypeDef *hsmartcard);
233 static HAL_StatusTypeDef SMARTCARD_SetConfig(SMARTCARD_HandleTypeDef *hsmartcard);
234 static void SMARTCARD_AdvFeatureConfig(SMARTCARD_HandleTypeDef *hsmartcard);
235 static HAL_StatusTypeDef SMARTCARD_CheckIdleState(SMARTCARD_HandleTypeDef *hsmartcard);
236 static HAL_StatusTypeDef SMARTCARD_WaitOnFlagUntilTimeout(SMARTCARD_HandleTypeDef *hsmartcard, uint…
238 static void SMARTCARD_EndTxTransfer(SMARTCARD_HandleTypeDef *hsmartcard);
239 static void SMARTCARD_EndRxTransfer(SMARTCARD_HandleTypeDef *hsmartcard);
250 static void SMARTCARD_TxISR(SMARTCARD_HandleTypeDef *hsmartcard);
251 static void SMARTCARD_TxISR_FIFOEN(SMARTCARD_HandleTypeDef *hsmartcard);
252 static void SMARTCARD_EndTransmit_IT(SMARTCARD_HandleTypeDef *hsmartcard);
253 static void SMARTCARD_RxISR(SMARTCARD_HandleTypeDef *hsmartcard);
254 static void SMARTCARD_RxISR_FIFOEN(SMARTCARD_HandleTypeDef *hsmartcard);
320 HAL_StatusTypeDef HAL_SMARTCARD_Init(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_Init() argument
323 if (hsmartcard == NULL) in HAL_SMARTCARD_Init()
329 assert_param(IS_SMARTCARD_INSTANCE(hsmartcard->Instance)); in HAL_SMARTCARD_Init()
331 if (hsmartcard->gState == HAL_SMARTCARD_STATE_RESET) in HAL_SMARTCARD_Init()
334 hsmartcard->Lock = HAL_UNLOCKED; in HAL_SMARTCARD_Init()
337 SMARTCARD_InitCallbacksToDefault(hsmartcard); in HAL_SMARTCARD_Init()
339 if (hsmartcard->MspInitCallback == NULL) in HAL_SMARTCARD_Init()
341 hsmartcard->MspInitCallback = HAL_SMARTCARD_MspInit; in HAL_SMARTCARD_Init()
345 hsmartcard->MspInitCallback(hsmartcard); in HAL_SMARTCARD_Init()
348 HAL_SMARTCARD_MspInit(hsmartcard); in HAL_SMARTCARD_Init()
352 hsmartcard->gState = HAL_SMARTCARD_STATE_BUSY; in HAL_SMARTCARD_Init()
355 CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); in HAL_SMARTCARD_Init()
360 CLEAR_BIT(hsmartcard->Instance->CR2, USART_CR2_LINEN); in HAL_SMARTCARD_Init()
361 CLEAR_BIT(hsmartcard->Instance->CR3, (USART_CR3_HDSEL | USART_CR3_IREN)); in HAL_SMARTCARD_Init()
364 SET_BIT(hsmartcard->Instance->CR3, USART_CR3_SCEN); in HAL_SMARTCARD_Init()
367 if (SMARTCARD_SetConfig(hsmartcard) == HAL_ERROR) in HAL_SMARTCARD_Init()
373 SMARTCARD_TRANSMISSION_COMPLETION_SETTING(hsmartcard); in HAL_SMARTCARD_Init()
375 if (hsmartcard->AdvancedInit.AdvFeatureInit != SMARTCARD_ADVFEATURE_NO_INIT) in HAL_SMARTCARD_Init()
377 SMARTCARD_AdvFeatureConfig(hsmartcard); in HAL_SMARTCARD_Init()
381 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); in HAL_SMARTCARD_Init()
384 return (SMARTCARD_CheckIdleState(hsmartcard)); in HAL_SMARTCARD_Init()
393 HAL_StatusTypeDef HAL_SMARTCARD_DeInit(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_DeInit() argument
396 if (hsmartcard == NULL) in HAL_SMARTCARD_DeInit()
402 assert_param(IS_SMARTCARD_INSTANCE(hsmartcard->Instance)); in HAL_SMARTCARD_DeInit()
404 hsmartcard->gState = HAL_SMARTCARD_STATE_BUSY; in HAL_SMARTCARD_DeInit()
407 CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); in HAL_SMARTCARD_DeInit()
409 WRITE_REG(hsmartcard->Instance->CR1, 0x0U); in HAL_SMARTCARD_DeInit()
410 WRITE_REG(hsmartcard->Instance->CR2, 0x0U); in HAL_SMARTCARD_DeInit()
411 WRITE_REG(hsmartcard->Instance->CR3, 0x0U); in HAL_SMARTCARD_DeInit()
412 WRITE_REG(hsmartcard->Instance->RTOR, 0x0U); in HAL_SMARTCARD_DeInit()
413 WRITE_REG(hsmartcard->Instance->GTPR, 0x0U); in HAL_SMARTCARD_DeInit()
417 if (hsmartcard->MspDeInitCallback == NULL) in HAL_SMARTCARD_DeInit()
419 hsmartcard->MspDeInitCallback = HAL_SMARTCARD_MspDeInit; in HAL_SMARTCARD_DeInit()
422 hsmartcard->MspDeInitCallback(hsmartcard); in HAL_SMARTCARD_DeInit()
424 HAL_SMARTCARD_MspDeInit(hsmartcard); in HAL_SMARTCARD_DeInit()
427 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; in HAL_SMARTCARD_DeInit()
428 hsmartcard->gState = HAL_SMARTCARD_STATE_RESET; in HAL_SMARTCARD_DeInit()
429 hsmartcard->RxState = HAL_SMARTCARD_STATE_RESET; in HAL_SMARTCARD_DeInit()
432 __HAL_UNLOCK(hsmartcard); in HAL_SMARTCARD_DeInit()
443 __weak void HAL_SMARTCARD_MspInit(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_MspInit() argument
446 UNUSED(hsmartcard); in HAL_SMARTCARD_MspInit()
459 __weak void HAL_SMARTCARD_MspDeInit(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_MspDeInit() argument
462 UNUSED(hsmartcard); in HAL_SMARTCARD_MspDeInit()
492 HAL_StatusTypeDef HAL_SMARTCARD_RegisterCallback(SMARTCARD_HandleTypeDef *hsmartcard, in HAL_SMARTCARD_RegisterCallback() argument
501 hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_INVALID_CALLBACK; in HAL_SMARTCARD_RegisterCallback()
506 if (hsmartcard->gState == HAL_SMARTCARD_STATE_READY) in HAL_SMARTCARD_RegisterCallback()
512 hsmartcard->TxCpltCallback = pCallback; in HAL_SMARTCARD_RegisterCallback()
516 hsmartcard->RxCpltCallback = pCallback; in HAL_SMARTCARD_RegisterCallback()
520 hsmartcard->ErrorCallback = pCallback; in HAL_SMARTCARD_RegisterCallback()
524 hsmartcard->AbortCpltCallback = pCallback; in HAL_SMARTCARD_RegisterCallback()
528 hsmartcard->AbortTransmitCpltCallback = pCallback; in HAL_SMARTCARD_RegisterCallback()
532 hsmartcard->AbortReceiveCpltCallback = pCallback; in HAL_SMARTCARD_RegisterCallback()
536 hsmartcard->RxFifoFullCallback = pCallback; in HAL_SMARTCARD_RegisterCallback()
540 hsmartcard->TxFifoEmptyCallback = pCallback; in HAL_SMARTCARD_RegisterCallback()
544 hsmartcard->MspInitCallback = pCallback; in HAL_SMARTCARD_RegisterCallback()
548 hsmartcard->MspDeInitCallback = pCallback; in HAL_SMARTCARD_RegisterCallback()
553 hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_INVALID_CALLBACK; in HAL_SMARTCARD_RegisterCallback()
560 else if (hsmartcard->gState == HAL_SMARTCARD_STATE_RESET) in HAL_SMARTCARD_RegisterCallback()
565 hsmartcard->MspInitCallback = pCallback; in HAL_SMARTCARD_RegisterCallback()
569 hsmartcard->MspDeInitCallback = pCallback; in HAL_SMARTCARD_RegisterCallback()
574 hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_INVALID_CALLBACK; in HAL_SMARTCARD_RegisterCallback()
584 hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_INVALID_CALLBACK; in HAL_SMARTCARD_RegisterCallback()
614 HAL_StatusTypeDef HAL_SMARTCARD_UnRegisterCallback(SMARTCARD_HandleTypeDef *hsmartcard, in HAL_SMARTCARD_UnRegisterCallback() argument
619 if (HAL_SMARTCARD_STATE_READY == hsmartcard->gState) in HAL_SMARTCARD_UnRegisterCallback()
624hsmartcard->TxCpltCallback = HAL_SMARTCARD_TxCpltCallback; /* Legacy weak TxCpltCa… in HAL_SMARTCARD_UnRegisterCallback()
628hsmartcard->RxCpltCallback = HAL_SMARTCARD_RxCpltCallback; /* Legacy weak RxCpltCa… in HAL_SMARTCARD_UnRegisterCallback()
632hsmartcard->ErrorCallback = HAL_SMARTCARD_ErrorCallback; /* Legacy weak ErrorCal… in HAL_SMARTCARD_UnRegisterCallback()
636hsmartcard->AbortCpltCallback = HAL_SMARTCARD_AbortCpltCallback; /* Legacy weak AbortCpl… in HAL_SMARTCARD_UnRegisterCallback()
640hsmartcard->AbortTransmitCpltCallback = HAL_SMARTCARD_AbortTransmitCpltCallback; /* Legacy weak in HAL_SMARTCARD_UnRegisterCallback()
645hsmartcard->AbortReceiveCpltCallback = HAL_SMARTCARD_AbortReceiveCpltCallback; /* Legacy weak in HAL_SMARTCARD_UnRegisterCallback()
650hsmartcard->RxFifoFullCallback = HAL_SMARTCARDEx_RxFifoFullCallback; /* Legacy weak RxFifoFul… in HAL_SMARTCARD_UnRegisterCallback()
654hsmartcard->TxFifoEmptyCallback = HAL_SMARTCARDEx_TxFifoEmptyCallback; /* Legacy weak TxFifoEmp… in HAL_SMARTCARD_UnRegisterCallback()
658hsmartcard->MspInitCallback = HAL_SMARTCARD_MspInit; /* Legacy weak MspInitC… in HAL_SMARTCARD_UnRegisterCallback()
662hsmartcard->MspDeInitCallback = HAL_SMARTCARD_MspDeInit; /* Legacy weak MspDeIni… in HAL_SMARTCARD_UnRegisterCallback()
667 hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_INVALID_CALLBACK; in HAL_SMARTCARD_UnRegisterCallback()
674 else if (HAL_SMARTCARD_STATE_RESET == hsmartcard->gState) in HAL_SMARTCARD_UnRegisterCallback()
679 hsmartcard->MspInitCallback = HAL_SMARTCARD_MspInit; in HAL_SMARTCARD_UnRegisterCallback()
683 hsmartcard->MspDeInitCallback = HAL_SMARTCARD_MspDeInit; in HAL_SMARTCARD_UnRegisterCallback()
688 hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_INVALID_CALLBACK; in HAL_SMARTCARD_UnRegisterCallback()
698 hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_INVALID_CALLBACK; in HAL_SMARTCARD_UnRegisterCallback()
809 HAL_StatusTypeDef HAL_SMARTCARD_Transmit(SMARTCARD_HandleTypeDef *hsmartcard, const uint8_t *pData,… in HAL_SMARTCARD_Transmit() argument
816 if (hsmartcard->gState == HAL_SMARTCARD_STATE_READY) in HAL_SMARTCARD_Transmit()
824 __HAL_LOCK(hsmartcard); in HAL_SMARTCARD_Transmit()
826 hsmartcard->gState = HAL_SMARTCARD_STATE_BUSY_TX; in HAL_SMARTCARD_Transmit()
833 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAT)) in HAL_SMARTCARD_Transmit()
835 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAT); in HAL_SMARTCARD_Transmit()
840 CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); in HAL_SMARTCARD_Transmit()
845 if ((hsmartcard->Init.Mode == SMARTCARD_MODE_TX) in HAL_SMARTCARD_Transmit()
846 && (hsmartcard->Init.NACKEnable == SMARTCARD_NACK_ENABLE)) in HAL_SMARTCARD_Transmit()
848 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_RE); in HAL_SMARTCARD_Transmit()
851 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_TE); in HAL_SMARTCARD_Transmit()
854 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); in HAL_SMARTCARD_Transmit()
857 __HAL_SMARTCARD_FLUSH_DRREGISTER(hsmartcard); in HAL_SMARTCARD_Transmit()
859 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; in HAL_SMARTCARD_Transmit()
860 hsmartcard->TxXferSize = Size; in HAL_SMARTCARD_Transmit()
861 hsmartcard->TxXferCount = Size; in HAL_SMARTCARD_Transmit()
863 while (hsmartcard->TxXferCount > 0U) in HAL_SMARTCARD_Transmit()
865 hsmartcard->TxXferCount--; in HAL_SMARTCARD_Transmit()
866 …if (SMARTCARD_WaitOnFlagUntilTimeout(hsmartcard, SMARTCARD_FLAG_TXE, RESET, tickstart, Timeout) !=… in HAL_SMARTCARD_Transmit()
870 hsmartcard->Instance->TDR = (uint8_t)(*ptmpdata & 0xFFU); in HAL_SMARTCARD_Transmit()
873 …if (SMARTCARD_WaitOnFlagUntilTimeout(hsmartcard, SMARTCARD_TRANSMISSION_COMPLETION_FLAG(hsmartcard in HAL_SMARTCARD_Transmit()
880 CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); in HAL_SMARTCARD_Transmit()
881 if ((hsmartcard->Init.Mode == SMARTCARD_MODE_TX) in HAL_SMARTCARD_Transmit()
882 && (hsmartcard->Init.NACKEnable == SMARTCARD_NACK_ENABLE)) in HAL_SMARTCARD_Transmit()
886 CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_RE); in HAL_SMARTCARD_Transmit()
888 if ((hsmartcard->Init.Mode == SMARTCARD_MODE_TX_RX) in HAL_SMARTCARD_Transmit()
889 || (hsmartcard->Init.NACKEnable == SMARTCARD_NACK_ENABLE)) in HAL_SMARTCARD_Transmit()
892 __HAL_SMARTCARD_FLUSH_DRREGISTER(hsmartcard); in HAL_SMARTCARD_Transmit()
894 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); in HAL_SMARTCARD_Transmit()
897 hsmartcard->gState = HAL_SMARTCARD_STATE_READY; in HAL_SMARTCARD_Transmit()
900 __HAL_UNLOCK(hsmartcard); in HAL_SMARTCARD_Transmit()
923 HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uint16… in HAL_SMARTCARD_Receive() argument
930 if (hsmartcard->RxState == HAL_SMARTCARD_STATE_READY) in HAL_SMARTCARD_Receive()
938 __HAL_LOCK(hsmartcard); in HAL_SMARTCARD_Receive()
940 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; in HAL_SMARTCARD_Receive()
941 hsmartcard->RxState = HAL_SMARTCARD_STATE_BUSY_RX; in HAL_SMARTCARD_Receive()
948 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) in HAL_SMARTCARD_Receive()
950 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAR); in HAL_SMARTCARD_Receive()
954 hsmartcard->RxXferSize = Size; in HAL_SMARTCARD_Receive()
955 hsmartcard->RxXferCount = Size; in HAL_SMARTCARD_Receive()
958 while (hsmartcard->RxXferCount > 0U) in HAL_SMARTCARD_Receive()
960 hsmartcard->RxXferCount--; in HAL_SMARTCARD_Receive()
962 …if (SMARTCARD_WaitOnFlagUntilTimeout(hsmartcard, SMARTCARD_FLAG_RXNE, RESET, tickstart, Timeout) !… in HAL_SMARTCARD_Receive()
966 *ptmpdata = (uint8_t)(hsmartcard->Instance->RDR & (uint8_t)0x00FF); in HAL_SMARTCARD_Receive()
971 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in HAL_SMARTCARD_Receive()
974 __HAL_UNLOCK(hsmartcard); in HAL_SMARTCARD_Receive()
999 HAL_StatusTypeDef HAL_SMARTCARD_Transmit_IT(SMARTCARD_HandleTypeDef *hsmartcard, const uint8_t *pDa… in HAL_SMARTCARD_Transmit_IT() argument
1002 if (hsmartcard->gState == HAL_SMARTCARD_STATE_READY) in HAL_SMARTCARD_Transmit_IT()
1010 __HAL_LOCK(hsmartcard); in HAL_SMARTCARD_Transmit_IT()
1012 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; in HAL_SMARTCARD_Transmit_IT()
1013 hsmartcard->gState = HAL_SMARTCARD_STATE_BUSY_TX; in HAL_SMARTCARD_Transmit_IT()
1015 hsmartcard->pTxBuffPtr = pData; in HAL_SMARTCARD_Transmit_IT()
1016 hsmartcard->TxXferSize = Size; in HAL_SMARTCARD_Transmit_IT()
1017 hsmartcard->TxXferCount = Size; in HAL_SMARTCARD_Transmit_IT()
1018 hsmartcard->TxISR = NULL; in HAL_SMARTCARD_Transmit_IT()
1022 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAT)) in HAL_SMARTCARD_Transmit_IT()
1024 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAT); in HAL_SMARTCARD_Transmit_IT()
1029 CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); in HAL_SMARTCARD_Transmit_IT()
1034 if ((hsmartcard->Init.Mode == SMARTCARD_MODE_TX) in HAL_SMARTCARD_Transmit_IT()
1035 && (hsmartcard->Init.NACKEnable == SMARTCARD_NACK_ENABLE)) in HAL_SMARTCARD_Transmit_IT()
1037 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_RE); in HAL_SMARTCARD_Transmit_IT()
1040 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_TE); in HAL_SMARTCARD_Transmit_IT()
1043 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); in HAL_SMARTCARD_Transmit_IT()
1046 __HAL_SMARTCARD_FLUSH_DRREGISTER(hsmartcard); in HAL_SMARTCARD_Transmit_IT()
1049 if (hsmartcard->FifoMode == SMARTCARD_FIFOMODE_ENABLE) in HAL_SMARTCARD_Transmit_IT()
1052 hsmartcard->TxISR = SMARTCARD_TxISR_FIFOEN; in HAL_SMARTCARD_Transmit_IT()
1055 __HAL_UNLOCK(hsmartcard); in HAL_SMARTCARD_Transmit_IT()
1058 SET_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); in HAL_SMARTCARD_Transmit_IT()
1061 SET_BIT(hsmartcard->Instance->CR3, USART_CR3_TXFTIE); in HAL_SMARTCARD_Transmit_IT()
1066 hsmartcard->TxISR = SMARTCARD_TxISR; in HAL_SMARTCARD_Transmit_IT()
1069 __HAL_UNLOCK(hsmartcard); in HAL_SMARTCARD_Transmit_IT()
1072 SET_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); in HAL_SMARTCARD_Transmit_IT()
1075 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_TXEIE_TXFNFIE); in HAL_SMARTCARD_Transmit_IT()
1101 HAL_StatusTypeDef HAL_SMARTCARD_Receive_IT(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, uin… in HAL_SMARTCARD_Receive_IT() argument
1104 if (hsmartcard->RxState == HAL_SMARTCARD_STATE_READY) in HAL_SMARTCARD_Receive_IT()
1112 __HAL_LOCK(hsmartcard); in HAL_SMARTCARD_Receive_IT()
1114 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; in HAL_SMARTCARD_Receive_IT()
1115 hsmartcard->RxState = HAL_SMARTCARD_STATE_BUSY_RX; in HAL_SMARTCARD_Receive_IT()
1117 hsmartcard->pRxBuffPtr = pData; in HAL_SMARTCARD_Receive_IT()
1118 hsmartcard->RxXferSize = Size; in HAL_SMARTCARD_Receive_IT()
1119 hsmartcard->RxXferCount = Size; in HAL_SMARTCARD_Receive_IT()
1123 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) in HAL_SMARTCARD_Receive_IT()
1125 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAR); in HAL_SMARTCARD_Receive_IT()
1130 …if ((hsmartcard->FifoMode == SMARTCARD_FIFOMODE_ENABLE) && (Size >= hsmartcard->NbRxDataToProcess)) in HAL_SMARTCARD_Receive_IT()
1133 hsmartcard->RxISR = SMARTCARD_RxISR_FIFOEN; in HAL_SMARTCARD_Receive_IT()
1136 __HAL_UNLOCK(hsmartcard); in HAL_SMARTCARD_Receive_IT()
1139 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_PEIE); in HAL_SMARTCARD_Receive_IT()
1140 SET_BIT(hsmartcard->Instance->CR3, USART_CR3_RXFTIE); in HAL_SMARTCARD_Receive_IT()
1145 hsmartcard->RxISR = SMARTCARD_RxISR; in HAL_SMARTCARD_Receive_IT()
1148 __HAL_UNLOCK(hsmartcard); in HAL_SMARTCARD_Receive_IT()
1151 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_PEIE | USART_CR1_RXNEIE_RXFNEIE); in HAL_SMARTCARD_Receive_IT()
1155 SET_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); in HAL_SMARTCARD_Receive_IT()
1174 HAL_StatusTypeDef HAL_SMARTCARD_Transmit_DMA(SMARTCARD_HandleTypeDef *hsmartcard, const uint8_t *pD… in HAL_SMARTCARD_Transmit_DMA() argument
1179 if (hsmartcard->gState == HAL_SMARTCARD_STATE_READY) in HAL_SMARTCARD_Transmit_DMA()
1187 __HAL_LOCK(hsmartcard); in HAL_SMARTCARD_Transmit_DMA()
1189 hsmartcard->gState = HAL_SMARTCARD_STATE_BUSY_TX; in HAL_SMARTCARD_Transmit_DMA()
1191 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; in HAL_SMARTCARD_Transmit_DMA()
1192 hsmartcard->pTxBuffPtr = pData; in HAL_SMARTCARD_Transmit_DMA()
1193 hsmartcard->TxXferSize = Size; in HAL_SMARTCARD_Transmit_DMA()
1194 hsmartcard->TxXferCount = Size; in HAL_SMARTCARD_Transmit_DMA()
1197 CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); in HAL_SMARTCARD_Transmit_DMA()
1202 if ((hsmartcard->Init.Mode == SMARTCARD_MODE_TX) in HAL_SMARTCARD_Transmit_DMA()
1203 && (hsmartcard->Init.NACKEnable == SMARTCARD_NACK_ENABLE)) in HAL_SMARTCARD_Transmit_DMA()
1205 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_RE); in HAL_SMARTCARD_Transmit_DMA()
1208 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_TE); in HAL_SMARTCARD_Transmit_DMA()
1211 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); in HAL_SMARTCARD_Transmit_DMA()
1214 __HAL_SMARTCARD_FLUSH_DRREGISTER(hsmartcard); in HAL_SMARTCARD_Transmit_DMA()
1217 hsmartcard->hdmatx->XferCpltCallback = SMARTCARD_DMATransmitCplt; in HAL_SMARTCARD_Transmit_DMA()
1220 hsmartcard->hdmatx->XferErrorCallback = SMARTCARD_DMAError; in HAL_SMARTCARD_Transmit_DMA()
1223 hsmartcard->hdmatx->XferAbortCallback = NULL; in HAL_SMARTCARD_Transmit_DMA()
1226 if ((hsmartcard->hdmatx->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_SMARTCARD_Transmit_DMA()
1228 …if ((hsmartcard->hdmatx->LinkedListQueue != NULL) && (hsmartcard->hdmatx->LinkedListQueue->Head !=… in HAL_SMARTCARD_Transmit_DMA()
1231 hsmartcard->hdmatx->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = Size; in HAL_SMARTCARD_Transmit_DMA()
1234 hsmartcard->hdmatx->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = in HAL_SMARTCARD_Transmit_DMA()
1235 (uint32_t)hsmartcard->pTxBuffPtr; in HAL_SMARTCARD_Transmit_DMA()
1238 hsmartcard->hdmatx->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = in HAL_SMARTCARD_Transmit_DMA()
1239 (uint32_t)&hsmartcard->Instance->TDR; in HAL_SMARTCARD_Transmit_DMA()
1242 status = HAL_DMAEx_List_Start_IT(hsmartcard->hdmatx); in HAL_SMARTCARD_Transmit_DMA()
1253 status = HAL_DMA_Start_IT(hsmartcard->hdmatx, (uint32_t)hsmartcard->pTxBuffPtr, in HAL_SMARTCARD_Transmit_DMA()
1254 (uint32_t)&hsmartcard->Instance->TDR, Size); in HAL_SMARTCARD_Transmit_DMA()
1260 CLEAR_BIT(hsmartcard->Instance->ICR, USART_ICR_TCCF); in HAL_SMARTCARD_Transmit_DMA()
1263 __HAL_UNLOCK(hsmartcard); in HAL_SMARTCARD_Transmit_DMA()
1266 SET_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); in HAL_SMARTCARD_Transmit_DMA()
1270 SET_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAT); in HAL_SMARTCARD_Transmit_DMA()
1277 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_DMA; in HAL_SMARTCARD_Transmit_DMA()
1280 __HAL_UNLOCK(hsmartcard); in HAL_SMARTCARD_Transmit_DMA()
1283 hsmartcard->gState = HAL_SMARTCARD_STATE_READY; in HAL_SMARTCARD_Transmit_DMA()
1304 HAL_StatusTypeDef HAL_SMARTCARD_Receive_DMA(SMARTCARD_HandleTypeDef *hsmartcard, uint8_t *pData, ui… in HAL_SMARTCARD_Receive_DMA() argument
1309 if (hsmartcard->RxState == HAL_SMARTCARD_STATE_READY) in HAL_SMARTCARD_Receive_DMA()
1317 __HAL_LOCK(hsmartcard); in HAL_SMARTCARD_Receive_DMA()
1319 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; in HAL_SMARTCARD_Receive_DMA()
1320 hsmartcard->RxState = HAL_SMARTCARD_STATE_BUSY_RX; in HAL_SMARTCARD_Receive_DMA()
1322 hsmartcard->pRxBuffPtr = pData; in HAL_SMARTCARD_Receive_DMA()
1323 hsmartcard->RxXferSize = Size; in HAL_SMARTCARD_Receive_DMA()
1326 hsmartcard->hdmarx->XferCpltCallback = SMARTCARD_DMAReceiveCplt; in HAL_SMARTCARD_Receive_DMA()
1329 hsmartcard->hdmarx->XferErrorCallback = SMARTCARD_DMAError; in HAL_SMARTCARD_Receive_DMA()
1332 hsmartcard->hdmarx->XferAbortCallback = NULL; in HAL_SMARTCARD_Receive_DMA()
1335 if ((hsmartcard->hdmarx->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_SMARTCARD_Receive_DMA()
1337 …if ((hsmartcard->hdmarx->LinkedListQueue != NULL) && (hsmartcard->hdmarx->LinkedListQueue->Head !=… in HAL_SMARTCARD_Receive_DMA()
1340 hsmartcard->hdmarx->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = Size; in HAL_SMARTCARD_Receive_DMA()
1343 hsmartcard->hdmarx->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = in HAL_SMARTCARD_Receive_DMA()
1344 (uint32_t)&hsmartcard->Instance->RDR; in HAL_SMARTCARD_Receive_DMA()
1347 hsmartcard->hdmarx->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = in HAL_SMARTCARD_Receive_DMA()
1348 (uint32_t)hsmartcard->pRxBuffPtr; in HAL_SMARTCARD_Receive_DMA()
1351 status = HAL_DMAEx_List_Start_IT(hsmartcard->hdmarx); in HAL_SMARTCARD_Receive_DMA()
1362 status = HAL_DMA_Start_IT(hsmartcard->hdmarx, (uint32_t)&hsmartcard->Instance->RDR, in HAL_SMARTCARD_Receive_DMA()
1363 (uint32_t)hsmartcard->pRxBuffPtr, Size); in HAL_SMARTCARD_Receive_DMA()
1369 __HAL_UNLOCK(hsmartcard); in HAL_SMARTCARD_Receive_DMA()
1372 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_PEIE); in HAL_SMARTCARD_Receive_DMA()
1375 SET_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); in HAL_SMARTCARD_Receive_DMA()
1379 SET_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAR); in HAL_SMARTCARD_Receive_DMA()
1386 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_DMA; in HAL_SMARTCARD_Receive_DMA()
1389 __HAL_UNLOCK(hsmartcard); in HAL_SMARTCARD_Receive_DMA()
1392 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in HAL_SMARTCARD_Receive_DMA()
1417 HAL_StatusTypeDef HAL_SMARTCARD_Abort(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_Abort() argument
1421 CLEAR_BIT(hsmartcard->Instance->CR1, in HAL_SMARTCARD_Abort()
1424 CLEAR_BIT(hsmartcard->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE)); in HAL_SMARTCARD_Abort()
1428 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAT)) in HAL_SMARTCARD_Abort()
1431 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAT); in HAL_SMARTCARD_Abort()
1435 if (hsmartcard->hdmatx != NULL) in HAL_SMARTCARD_Abort()
1439 hsmartcard->hdmatx->XferAbortCallback = NULL; in HAL_SMARTCARD_Abort()
1441 if (HAL_DMA_Abort(hsmartcard->hdmatx) != HAL_OK) in HAL_SMARTCARD_Abort()
1443 if (HAL_DMA_GetError(hsmartcard->hdmatx) == HAL_DMA_ERROR_TIMEOUT) in HAL_SMARTCARD_Abort()
1446 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_DMA; in HAL_SMARTCARD_Abort()
1455 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) in HAL_SMARTCARD_Abort()
1458 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAR); in HAL_SMARTCARD_Abort()
1462 if (hsmartcard->hdmarx != NULL) in HAL_SMARTCARD_Abort()
1466 hsmartcard->hdmarx->XferAbortCallback = NULL; in HAL_SMARTCARD_Abort()
1468 if (HAL_DMA_Abort(hsmartcard->hdmarx) != HAL_OK) in HAL_SMARTCARD_Abort()
1470 if (HAL_DMA_GetError(hsmartcard->hdmarx) == HAL_DMA_ERROR_TIMEOUT) in HAL_SMARTCARD_Abort()
1473 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_DMA; in HAL_SMARTCARD_Abort()
1483 hsmartcard->TxXferCount = 0U; in HAL_SMARTCARD_Abort()
1484 hsmartcard->RxXferCount = 0U; in HAL_SMARTCARD_Abort()
1487 __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, in HAL_SMARTCARD_Abort()
1492 hsmartcard->gState = HAL_SMARTCARD_STATE_READY; in HAL_SMARTCARD_Abort()
1493 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in HAL_SMARTCARD_Abort()
1496 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; in HAL_SMARTCARD_Abort()
1514 HAL_StatusTypeDef HAL_SMARTCARD_AbortTransmit(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_AbortTransmit() argument
1517 CLEAR_BIT(hsmartcard->Instance->CR1, (USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); in HAL_SMARTCARD_AbortTransmit()
1518 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_TXFTIE); in HAL_SMARTCARD_AbortTransmit()
1521 if (hsmartcard->RxState == HAL_SMARTCARD_STATE_READY) in HAL_SMARTCARD_AbortTransmit()
1524 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); in HAL_SMARTCARD_AbortTransmit()
1529 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAT)) in HAL_SMARTCARD_AbortTransmit()
1532 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAT); in HAL_SMARTCARD_AbortTransmit()
1536 if (hsmartcard->hdmatx != NULL) in HAL_SMARTCARD_AbortTransmit()
1540 hsmartcard->hdmatx->XferAbortCallback = NULL; in HAL_SMARTCARD_AbortTransmit()
1542 if (HAL_DMA_Abort(hsmartcard->hdmatx) != HAL_OK) in HAL_SMARTCARD_AbortTransmit()
1544 if (HAL_DMA_GetError(hsmartcard->hdmatx) == HAL_DMA_ERROR_TIMEOUT) in HAL_SMARTCARD_AbortTransmit()
1547 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_DMA; in HAL_SMARTCARD_AbortTransmit()
1557 hsmartcard->TxXferCount = 0U; in HAL_SMARTCARD_AbortTransmit()
1560 __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, SMARTCARD_CLEAR_FEF); in HAL_SMARTCARD_AbortTransmit()
1563 hsmartcard->gState = HAL_SMARTCARD_STATE_READY; in HAL_SMARTCARD_AbortTransmit()
1581 HAL_StatusTypeDef HAL_SMARTCARD_AbortReceive(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_AbortReceive() argument
1584 …CLEAR_BIT(hsmartcard->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_RTOIE | in HAL_SMARTCARD_AbortReceive()
1586 CLEAR_BIT(hsmartcard->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); in HAL_SMARTCARD_AbortReceive()
1589 if (hsmartcard->gState == HAL_SMARTCARD_STATE_READY) in HAL_SMARTCARD_AbortReceive()
1592 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); in HAL_SMARTCARD_AbortReceive()
1597 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) in HAL_SMARTCARD_AbortReceive()
1600 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAR); in HAL_SMARTCARD_AbortReceive()
1604 if (hsmartcard->hdmarx != NULL) in HAL_SMARTCARD_AbortReceive()
1608 hsmartcard->hdmarx->XferAbortCallback = NULL; in HAL_SMARTCARD_AbortReceive()
1610 if (HAL_DMA_Abort(hsmartcard->hdmarx) != HAL_OK) in HAL_SMARTCARD_AbortReceive()
1612 if (HAL_DMA_GetError(hsmartcard->hdmarx) == HAL_DMA_ERROR_TIMEOUT) in HAL_SMARTCARD_AbortReceive()
1615 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_DMA; in HAL_SMARTCARD_AbortReceive()
1625 hsmartcard->RxXferCount = 0U; in HAL_SMARTCARD_AbortReceive()
1628 __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, in HAL_SMARTCARD_AbortReceive()
1633 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in HAL_SMARTCARD_AbortReceive()
1653 HAL_StatusTypeDef HAL_SMARTCARD_Abort_IT(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_Abort_IT() argument
1659 CLEAR_BIT(hsmartcard->Instance->CR1, in HAL_SMARTCARD_Abort_IT()
1662 CLEAR_BIT(hsmartcard->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE | USART_CR3_TXFTIE)); in HAL_SMARTCARD_Abort_IT()
1669 if (hsmartcard->hdmatx != NULL) in HAL_SMARTCARD_Abort_IT()
1673 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAT)) in HAL_SMARTCARD_Abort_IT()
1675 hsmartcard->hdmatx->XferAbortCallback = SMARTCARD_DMATxAbortCallback; in HAL_SMARTCARD_Abort_IT()
1679 hsmartcard->hdmatx->XferAbortCallback = NULL; in HAL_SMARTCARD_Abort_IT()
1683 if (hsmartcard->hdmarx != NULL) in HAL_SMARTCARD_Abort_IT()
1687 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) in HAL_SMARTCARD_Abort_IT()
1689 hsmartcard->hdmarx->XferAbortCallback = SMARTCARD_DMARxAbortCallback; in HAL_SMARTCARD_Abort_IT()
1693 hsmartcard->hdmarx->XferAbortCallback = NULL; in HAL_SMARTCARD_Abort_IT()
1698 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAT)) in HAL_SMARTCARD_Abort_IT()
1702 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAT); in HAL_SMARTCARD_Abort_IT()
1706 if (hsmartcard->hdmatx != NULL) in HAL_SMARTCARD_Abort_IT()
1712 if (HAL_DMA_Abort_IT(hsmartcard->hdmatx) != HAL_OK) in HAL_SMARTCARD_Abort_IT()
1714 hsmartcard->hdmatx->XferAbortCallback = NULL; in HAL_SMARTCARD_Abort_IT()
1724 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) in HAL_SMARTCARD_Abort_IT()
1727 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAR); in HAL_SMARTCARD_Abort_IT()
1731 if (hsmartcard->hdmarx != NULL) in HAL_SMARTCARD_Abort_IT()
1737 if (HAL_DMA_Abort_IT(hsmartcard->hdmarx) != HAL_OK) in HAL_SMARTCARD_Abort_IT()
1739 hsmartcard->hdmarx->XferAbortCallback = NULL; in HAL_SMARTCARD_Abort_IT()
1754 hsmartcard->TxXferCount = 0U; in HAL_SMARTCARD_Abort_IT()
1755 hsmartcard->RxXferCount = 0U; in HAL_SMARTCARD_Abort_IT()
1758 hsmartcard->RxISR = NULL; in HAL_SMARTCARD_Abort_IT()
1759 hsmartcard->TxISR = NULL; in HAL_SMARTCARD_Abort_IT()
1762 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; in HAL_SMARTCARD_Abort_IT()
1765 __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, in HAL_SMARTCARD_Abort_IT()
1770 hsmartcard->gState = HAL_SMARTCARD_STATE_READY; in HAL_SMARTCARD_Abort_IT()
1771 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in HAL_SMARTCARD_Abort_IT()
1776 hsmartcard->AbortCpltCallback(hsmartcard); in HAL_SMARTCARD_Abort_IT()
1779 HAL_SMARTCARD_AbortCpltCallback(hsmartcard); in HAL_SMARTCARD_Abort_IT()
1801 HAL_StatusTypeDef HAL_SMARTCARD_AbortTransmit_IT(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_AbortTransmit_IT() argument
1804 CLEAR_BIT(hsmartcard->Instance->CR1, (USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); in HAL_SMARTCARD_AbortTransmit_IT()
1805 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_TXFTIE); in HAL_SMARTCARD_AbortTransmit_IT()
1808 if (hsmartcard->RxState == HAL_SMARTCARD_STATE_READY) in HAL_SMARTCARD_AbortTransmit_IT()
1811 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); in HAL_SMARTCARD_AbortTransmit_IT()
1816 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAT)) in HAL_SMARTCARD_AbortTransmit_IT()
1819 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAT); in HAL_SMARTCARD_AbortTransmit_IT()
1823 if (hsmartcard->hdmatx != NULL) in HAL_SMARTCARD_AbortTransmit_IT()
1827 hsmartcard->hdmatx->XferAbortCallback = SMARTCARD_DMATxOnlyAbortCallback; in HAL_SMARTCARD_AbortTransmit_IT()
1830 if (HAL_DMA_Abort_IT(hsmartcard->hdmatx) != HAL_OK) in HAL_SMARTCARD_AbortTransmit_IT()
1833 hsmartcard->hdmatx->XferAbortCallback(hsmartcard->hdmatx); in HAL_SMARTCARD_AbortTransmit_IT()
1839 hsmartcard->TxXferCount = 0U; in HAL_SMARTCARD_AbortTransmit_IT()
1842 hsmartcard->TxISR = NULL; in HAL_SMARTCARD_AbortTransmit_IT()
1845 hsmartcard->gState = HAL_SMARTCARD_STATE_READY; in HAL_SMARTCARD_AbortTransmit_IT()
1850 hsmartcard->AbortTransmitCpltCallback(hsmartcard); in HAL_SMARTCARD_AbortTransmit_IT()
1853 HAL_SMARTCARD_AbortTransmitCpltCallback(hsmartcard); in HAL_SMARTCARD_AbortTransmit_IT()
1861 hsmartcard->TxXferCount = 0U; in HAL_SMARTCARD_AbortTransmit_IT()
1864 hsmartcard->TxISR = NULL; in HAL_SMARTCARD_AbortTransmit_IT()
1867 __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, SMARTCARD_CLEAR_FEF); in HAL_SMARTCARD_AbortTransmit_IT()
1870 hsmartcard->gState = HAL_SMARTCARD_STATE_READY; in HAL_SMARTCARD_AbortTransmit_IT()
1875 hsmartcard->AbortTransmitCpltCallback(hsmartcard); in HAL_SMARTCARD_AbortTransmit_IT()
1878 HAL_SMARTCARD_AbortTransmitCpltCallback(hsmartcard); in HAL_SMARTCARD_AbortTransmit_IT()
1900 HAL_StatusTypeDef HAL_SMARTCARD_AbortReceive_IT(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_AbortReceive_IT() argument
1903 …CLEAR_BIT(hsmartcard->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_RTOIE | in HAL_SMARTCARD_AbortReceive_IT()
1905 CLEAR_BIT(hsmartcard->Instance->CR3, (USART_CR3_EIE | USART_CR3_RXFTIE)); in HAL_SMARTCARD_AbortReceive_IT()
1908 if (hsmartcard->gState == HAL_SMARTCARD_STATE_READY) in HAL_SMARTCARD_AbortReceive_IT()
1911 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); in HAL_SMARTCARD_AbortReceive_IT()
1916 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) in HAL_SMARTCARD_AbortReceive_IT()
1919 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAR); in HAL_SMARTCARD_AbortReceive_IT()
1923 if (hsmartcard->hdmarx != NULL) in HAL_SMARTCARD_AbortReceive_IT()
1927 hsmartcard->hdmarx->XferAbortCallback = SMARTCARD_DMARxOnlyAbortCallback; in HAL_SMARTCARD_AbortReceive_IT()
1930 if (HAL_DMA_Abort_IT(hsmartcard->hdmarx) != HAL_OK) in HAL_SMARTCARD_AbortReceive_IT()
1933 hsmartcard->hdmarx->XferAbortCallback(hsmartcard->hdmarx); in HAL_SMARTCARD_AbortReceive_IT()
1939 hsmartcard->RxXferCount = 0U; in HAL_SMARTCARD_AbortReceive_IT()
1942 hsmartcard->RxISR = NULL; in HAL_SMARTCARD_AbortReceive_IT()
1945 __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, in HAL_SMARTCARD_AbortReceive_IT()
1950 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in HAL_SMARTCARD_AbortReceive_IT()
1955 hsmartcard->AbortReceiveCpltCallback(hsmartcard); in HAL_SMARTCARD_AbortReceive_IT()
1958 HAL_SMARTCARD_AbortReceiveCpltCallback(hsmartcard); in HAL_SMARTCARD_AbortReceive_IT()
1966 hsmartcard->RxXferCount = 0U; in HAL_SMARTCARD_AbortReceive_IT()
1969 hsmartcard->RxISR = NULL; in HAL_SMARTCARD_AbortReceive_IT()
1972 __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, in HAL_SMARTCARD_AbortReceive_IT()
1977 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in HAL_SMARTCARD_AbortReceive_IT()
1982 hsmartcard->AbortReceiveCpltCallback(hsmartcard); in HAL_SMARTCARD_AbortReceive_IT()
1985 HAL_SMARTCARD_AbortReceiveCpltCallback(hsmartcard); in HAL_SMARTCARD_AbortReceive_IT()
1998 void HAL_SMARTCARD_IRQHandler(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_IRQHandler() argument
2000 uint32_t isrflags = READ_REG(hsmartcard->Instance->ISR); in HAL_SMARTCARD_IRQHandler()
2001 uint32_t cr1its = READ_REG(hsmartcard->Instance->CR1); in HAL_SMARTCARD_IRQHandler()
2002 uint32_t cr3its = READ_REG(hsmartcard->Instance->CR3); in HAL_SMARTCARD_IRQHandler()
2015 if (hsmartcard->RxISR != NULL) in HAL_SMARTCARD_IRQHandler()
2017 hsmartcard->RxISR(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2031 __HAL_SMARTCARD_CLEAR_IT(hsmartcard, SMARTCARD_CLEAR_PEF); in HAL_SMARTCARD_IRQHandler()
2033 hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_PE; in HAL_SMARTCARD_IRQHandler()
2039 __HAL_SMARTCARD_CLEAR_IT(hsmartcard, SMARTCARD_CLEAR_FEF); in HAL_SMARTCARD_IRQHandler()
2041 hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_FE; in HAL_SMARTCARD_IRQHandler()
2047 __HAL_SMARTCARD_CLEAR_IT(hsmartcard, SMARTCARD_CLEAR_NEF); in HAL_SMARTCARD_IRQHandler()
2049 hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_NE; in HAL_SMARTCARD_IRQHandler()
2058 __HAL_SMARTCARD_CLEAR_IT(hsmartcard, SMARTCARD_CLEAR_OREF); in HAL_SMARTCARD_IRQHandler()
2060 hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_ORE; in HAL_SMARTCARD_IRQHandler()
2066 __HAL_SMARTCARD_CLEAR_IT(hsmartcard, SMARTCARD_CLEAR_RTOF); in HAL_SMARTCARD_IRQHandler()
2068 hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_RTO; in HAL_SMARTCARD_IRQHandler()
2072 if (hsmartcard->ErrorCode != HAL_SMARTCARD_ERROR_NONE) in HAL_SMARTCARD_IRQHandler()
2079 if (hsmartcard->RxISR != NULL) in HAL_SMARTCARD_IRQHandler()
2081 hsmartcard->RxISR(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2090 errorcode = hsmartcard->ErrorCode; in HAL_SMARTCARD_IRQHandler()
2091 if ((HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) in HAL_SMARTCARD_IRQHandler()
2097 SMARTCARD_EndRxTransfer(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2101 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) in HAL_SMARTCARD_IRQHandler()
2104 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAR); in HAL_SMARTCARD_IRQHandler()
2108 if (hsmartcard->hdmarx != NULL) in HAL_SMARTCARD_IRQHandler()
2112 hsmartcard->hdmarx->XferAbortCallback = SMARTCARD_DMAAbortOnError; in HAL_SMARTCARD_IRQHandler()
2115 if (HAL_DMA_Abort_IT(hsmartcard->hdmarx) != HAL_OK) in HAL_SMARTCARD_IRQHandler()
2118 hsmartcard->hdmarx->XferAbortCallback(hsmartcard->hdmarx); in HAL_SMARTCARD_IRQHandler()
2125 hsmartcard->ErrorCallback(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2128 HAL_SMARTCARD_ErrorCallback(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2137 hsmartcard->ErrorCallback(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2140 HAL_SMARTCARD_ErrorCallback(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2147 else if ((hsmartcard->gState == HAL_SMARTCARD_STATE_BUSY_TX) in HAL_SMARTCARD_IRQHandler()
2153 SMARTCARD_EndTxTransfer(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2157 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAT)) in HAL_SMARTCARD_IRQHandler()
2160 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAT); in HAL_SMARTCARD_IRQHandler()
2164 if (hsmartcard->hdmatx != NULL) in HAL_SMARTCARD_IRQHandler()
2168 hsmartcard->hdmatx->XferAbortCallback = SMARTCARD_DMAAbortOnError; in HAL_SMARTCARD_IRQHandler()
2171 if (HAL_DMA_Abort_IT(hsmartcard->hdmatx) != HAL_OK) in HAL_SMARTCARD_IRQHandler()
2174 hsmartcard->hdmatx->XferAbortCallback(hsmartcard->hdmatx); in HAL_SMARTCARD_IRQHandler()
2181 hsmartcard->ErrorCallback(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2184 HAL_SMARTCARD_ErrorCallback(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2193 hsmartcard->ErrorCallback(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2196 HAL_SMARTCARD_ErrorCallback(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2206 hsmartcard->ErrorCallback(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2209 HAL_SMARTCARD_ErrorCallback(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2211 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; in HAL_SMARTCARD_IRQHandler()
2221 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in HAL_SMARTCARD_IRQHandler()
2222 __HAL_UNLOCK(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2225 hsmartcard->RxCpltCallback(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2228 HAL_SMARTCARD_RxCpltCallback(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2232 __HAL_SMARTCARD_CLEAR_IT(hsmartcard, SMARTCARD_CLEAR_EOBF); in HAL_SMARTCARD_IRQHandler()
2241 if (hsmartcard->TxISR != NULL) in HAL_SMARTCARD_IRQHandler()
2243 hsmartcard->TxISR(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2249 if (__HAL_SMARTCARD_GET_IT(hsmartcard, hsmartcard->AdvancedInit.TxCompletionIndication) != RESET) in HAL_SMARTCARD_IRQHandler()
2251 …if (__HAL_SMARTCARD_GET_IT_SOURCE(hsmartcard, hsmartcard->AdvancedInit.TxCompletionIndication) != … in HAL_SMARTCARD_IRQHandler()
2253 SMARTCARD_EndTransmit_IT(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2263 hsmartcard->TxFifoEmptyCallback(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2266 HAL_SMARTCARDEx_TxFifoEmptyCallback(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2276 hsmartcard->RxFifoFullCallback(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2279 HAL_SMARTCARDEx_RxFifoFullCallback(hsmartcard); in HAL_SMARTCARD_IRQHandler()
2291 __weak void HAL_SMARTCARD_TxCpltCallback(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_TxCpltCallback() argument
2294 UNUSED(hsmartcard); in HAL_SMARTCARD_TxCpltCallback()
2307 __weak void HAL_SMARTCARD_RxCpltCallback(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_RxCpltCallback() argument
2310 UNUSED(hsmartcard); in HAL_SMARTCARD_RxCpltCallback()
2323 __weak void HAL_SMARTCARD_ErrorCallback(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_ErrorCallback() argument
2326 UNUSED(hsmartcard); in HAL_SMARTCARD_ErrorCallback()
2339 __weak void HAL_SMARTCARD_AbortCpltCallback(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_AbortCpltCallback() argument
2342 UNUSED(hsmartcard); in HAL_SMARTCARD_AbortCpltCallback()
2355 __weak void HAL_SMARTCARD_AbortTransmitCpltCallback(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_AbortTransmitCpltCallback() argument
2358 UNUSED(hsmartcard); in HAL_SMARTCARD_AbortTransmitCpltCallback()
2371 __weak void HAL_SMARTCARD_AbortReceiveCpltCallback(SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_AbortReceiveCpltCallback() argument
2374 UNUSED(hsmartcard); in HAL_SMARTCARD_AbortReceiveCpltCallback()
2410 HAL_SMARTCARD_StateTypeDef HAL_SMARTCARD_GetState(const SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_GetState() argument
2415 temp1 = (uint32_t)hsmartcard->gState; in HAL_SMARTCARD_GetState()
2416 temp2 = (uint32_t)hsmartcard->RxState; in HAL_SMARTCARD_GetState()
2427 uint32_t HAL_SMARTCARD_GetError(const SMARTCARD_HandleTypeDef *hsmartcard) in HAL_SMARTCARD_GetError() argument
2429 return hsmartcard->ErrorCode; in HAL_SMARTCARD_GetError()
2450 void SMARTCARD_InitCallbacksToDefault(SMARTCARD_HandleTypeDef *hsmartcard) in SMARTCARD_InitCallbacksToDefault() argument
2453hsmartcard->TxCpltCallback = HAL_SMARTCARD_TxCpltCallback; /* Legacy weak Tx… in SMARTCARD_InitCallbacksToDefault()
2454hsmartcard->RxCpltCallback = HAL_SMARTCARD_RxCpltCallback; /* Legacy weak Rx… in SMARTCARD_InitCallbacksToDefault()
2455hsmartcard->ErrorCallback = HAL_SMARTCARD_ErrorCallback; /* Legacy weak Er… in SMARTCARD_InitCallbacksToDefault()
2456hsmartcard->AbortCpltCallback = HAL_SMARTCARD_AbortCpltCallback; /* Legacy weak Ab… in SMARTCARD_InitCallbacksToDefault()
2457 hsmartcard->AbortTransmitCpltCallback = HAL_SMARTCARD_AbortTransmitCpltCallback; /* Legacy weak in SMARTCARD_InitCallbacksToDefault()
2459 hsmartcard->AbortReceiveCpltCallback = HAL_SMARTCARD_AbortReceiveCpltCallback; /* Legacy weak in SMARTCARD_InitCallbacksToDefault()
2461 hsmartcard->RxFifoFullCallback = HAL_SMARTCARDEx_RxFifoFullCallback; /* Legacy weak in SMARTCARD_InitCallbacksToDefault()
2463 hsmartcard->TxFifoEmptyCallback = HAL_SMARTCARDEx_TxFifoEmptyCallback; /* Legacy weak in SMARTCARD_InitCallbacksToDefault()
2475 static HAL_StatusTypeDef SMARTCARD_SetConfig(SMARTCARD_HandleTypeDef *hsmartcard) in SMARTCARD_SetConfig() argument
2488 assert_param(IS_SMARTCARD_INSTANCE(hsmartcard->Instance)); in SMARTCARD_SetConfig()
2489 assert_param(IS_SMARTCARD_BAUDRATE(hsmartcard->Init.BaudRate)); in SMARTCARD_SetConfig()
2490 assert_param(IS_SMARTCARD_WORD_LENGTH(hsmartcard->Init.WordLength)); in SMARTCARD_SetConfig()
2491 assert_param(IS_SMARTCARD_STOPBITS(hsmartcard->Init.StopBits)); in SMARTCARD_SetConfig()
2492 assert_param(IS_SMARTCARD_PARITY(hsmartcard->Init.Parity)); in SMARTCARD_SetConfig()
2493 assert_param(IS_SMARTCARD_MODE(hsmartcard->Init.Mode)); in SMARTCARD_SetConfig()
2494 assert_param(IS_SMARTCARD_POLARITY(hsmartcard->Init.CLKPolarity)); in SMARTCARD_SetConfig()
2495 assert_param(IS_SMARTCARD_PHASE(hsmartcard->Init.CLKPhase)); in SMARTCARD_SetConfig()
2496 assert_param(IS_SMARTCARD_LASTBIT(hsmartcard->Init.CLKLastBit)); in SMARTCARD_SetConfig()
2497 assert_param(IS_SMARTCARD_ONE_BIT_SAMPLE(hsmartcard->Init.OneBitSampling)); in SMARTCARD_SetConfig()
2498 assert_param(IS_SMARTCARD_NACK(hsmartcard->Init.NACKEnable)); in SMARTCARD_SetConfig()
2499 assert_param(IS_SMARTCARD_TIMEOUT(hsmartcard->Init.TimeOutEnable)); in SMARTCARD_SetConfig()
2500 assert_param(IS_SMARTCARD_AUTORETRY_COUNT(hsmartcard->Init.AutoRetryCount)); in SMARTCARD_SetConfig()
2501 assert_param(IS_SMARTCARD_CLOCKPRESCALER(hsmartcard->Init.ClockPrescaler)); in SMARTCARD_SetConfig()
2509 tmpreg = (((uint32_t)hsmartcard->Init.Parity) | ((uint32_t)hsmartcard->Init.Mode) | in SMARTCARD_SetConfig()
2510 ((uint32_t)hsmartcard->Init.WordLength)); in SMARTCARD_SetConfig()
2511 MODIFY_REG(hsmartcard->Instance->CR1, USART_CR1_FIELDS, tmpreg); in SMARTCARD_SetConfig()
2514 tmpreg = hsmartcard->Init.StopBits; in SMARTCARD_SetConfig()
2516 tmpreg |= (uint32_t) USART_CR2_CLKEN | hsmartcard->Init.CLKPolarity; in SMARTCARD_SetConfig()
2517 tmpreg |= (uint32_t) hsmartcard->Init.CLKPhase | hsmartcard->Init.CLKLastBit; in SMARTCARD_SetConfig()
2518 tmpreg |= (uint32_t) hsmartcard->Init.TimeOutEnable; in SMARTCARD_SetConfig()
2519 MODIFY_REG(hsmartcard->Instance->CR2, USART_CR2_FIELDS, tmpreg); in SMARTCARD_SetConfig()
2529 tmpreg = (uint32_t) hsmartcard->Init.OneBitSampling | hsmartcard->Init.NACKEnable; in SMARTCARD_SetConfig()
2530 tmpreg |= ((uint32_t)hsmartcard->Init.AutoRetryCount << USART_CR3_SCARCNT_Pos); in SMARTCARD_SetConfig()
2531 MODIFY_REG(hsmartcard->Instance->CR3, USART_CR3_FIELDS, tmpreg); in SMARTCARD_SetConfig()
2536 MODIFY_REG(hsmartcard->Instance->PRESC, USART_PRESC_PRESCALER, hsmartcard->Init.ClockPrescaler); in SMARTCARD_SetConfig()
2539 …tmpreg = (hsmartcard->Init.Prescaler | ((uint32_t)hsmartcard->Init.GuardTime << USART_GTPR_GT_Pos)… in SMARTCARD_SetConfig()
2540 …MODIFY_REG(hsmartcard->Instance->GTPR, (uint16_t)(USART_GTPR_GT | USART_GTPR_PSC), (uint16_t)tmpre… in SMARTCARD_SetConfig()
2543 tmpreg = ((uint32_t)hsmartcard->Init.BlockLength << USART_RTOR_BLEN_Pos); in SMARTCARD_SetConfig()
2544 if (hsmartcard->Init.TimeOutEnable == SMARTCARD_TIMEOUT_ENABLE) in SMARTCARD_SetConfig()
2546 assert_param(IS_SMARTCARD_TIMEOUT_VALUE(hsmartcard->Init.TimeOutValue)); in SMARTCARD_SetConfig()
2547 tmpreg |= (uint32_t) hsmartcard->Init.TimeOutValue; in SMARTCARD_SetConfig()
2549 WRITE_REG(hsmartcard->Instance->RTOR, tmpreg); in SMARTCARD_SetConfig()
2552 SMARTCARD_GETCLOCKSOURCE(hsmartcard, clocksource); in SMARTCARD_SetConfig()
2558 tmpreg = (uint32_t)(((pclk / SMARTCARDPrescTable[hsmartcard->Init.ClockPrescaler]) + in SMARTCARD_SetConfig()
2559 (hsmartcard->Init.BaudRate / 2U)) / hsmartcard->Init.BaudRate); in SMARTCARD_SetConfig()
2563 tmpreg = (uint32_t)(((pclk / SMARTCARDPrescTable[hsmartcard->Init.ClockPrescaler]) + in SMARTCARD_SetConfig()
2564 (hsmartcard->Init.BaudRate / 2U)) / hsmartcard->Init.BaudRate); in SMARTCARD_SetConfig()
2568 …tmpreg = (uint32_t)(((pll2_clocks.PLL2_Q_Frequency / SMARTCARDPrescTable[hsmartcard->Init.ClockPre… in SMARTCARD_SetConfig()
2569 (hsmartcard->Init.BaudRate / 2U)) / hsmartcard->Init.BaudRate); in SMARTCARD_SetConfig()
2574 …tmpreg = (uint32_t)(((pll3_clocks.PLL3_Q_Frequency / SMARTCARDPrescTable[hsmartcard->Init.ClockPre… in SMARTCARD_SetConfig()
2575 (hsmartcard->Init.BaudRate / 2U)) / hsmartcard->Init.BaudRate); in SMARTCARD_SetConfig()
2579 tmpreg = (uint32_t)(((HSI_VALUE / SMARTCARDPrescTable[hsmartcard->Init.ClockPrescaler]) + in SMARTCARD_SetConfig()
2580 (hsmartcard->Init.BaudRate / 2U)) / hsmartcard->Init.BaudRate); in SMARTCARD_SetConfig()
2583 tmpreg = (uint32_t)(((CSI_VALUE / SMARTCARDPrescTable[hsmartcard->Init.ClockPrescaler]) + in SMARTCARD_SetConfig()
2584 (hsmartcard->Init.BaudRate / 2U)) / hsmartcard->Init.BaudRate); in SMARTCARD_SetConfig()
2587 …tmpreg = (uint32_t)(((uint16_t)(LSE_VALUE / SMARTCARDPrescTable[hsmartcard->Init.ClockPrescaler]) + in SMARTCARD_SetConfig()
2588 (hsmartcard->Init.BaudRate / 2U)) / hsmartcard->Init.BaudRate); in SMARTCARD_SetConfig()
2598 hsmartcard->Instance->BRR = (uint16_t)tmpreg; in SMARTCARD_SetConfig()
2606 hsmartcard->NbTxDataToProcess = 1U; in SMARTCARD_SetConfig()
2607 hsmartcard->NbRxDataToProcess = 1U; in SMARTCARD_SetConfig()
2610 hsmartcard->RxISR = NULL; in SMARTCARD_SetConfig()
2611 hsmartcard->TxISR = NULL; in SMARTCARD_SetConfig()
2623 static void SMARTCARD_AdvFeatureConfig(SMARTCARD_HandleTypeDef *hsmartcard) in SMARTCARD_AdvFeatureConfig() argument
2626 assert_param(IS_SMARTCARD_ADVFEATURE_INIT(hsmartcard->AdvancedInit.AdvFeatureInit)); in SMARTCARD_AdvFeatureConfig()
2629 if (HAL_IS_BIT_SET(hsmartcard->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_TXINVERT_INIT)) in SMARTCARD_AdvFeatureConfig()
2631 assert_param(IS_SMARTCARD_ADVFEATURE_TXINV(hsmartcard->AdvancedInit.TxPinLevelInvert)); in SMARTCARD_AdvFeatureConfig()
2632 … MODIFY_REG(hsmartcard->Instance->CR2, USART_CR2_TXINV, hsmartcard->AdvancedInit.TxPinLevelInvert); in SMARTCARD_AdvFeatureConfig()
2636 if (HAL_IS_BIT_SET(hsmartcard->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_RXINVERT_INIT)) in SMARTCARD_AdvFeatureConfig()
2638 assert_param(IS_SMARTCARD_ADVFEATURE_RXINV(hsmartcard->AdvancedInit.RxPinLevelInvert)); in SMARTCARD_AdvFeatureConfig()
2639 … MODIFY_REG(hsmartcard->Instance->CR2, USART_CR2_RXINV, hsmartcard->AdvancedInit.RxPinLevelInvert); in SMARTCARD_AdvFeatureConfig()
2643 if (HAL_IS_BIT_SET(hsmartcard->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_DATAINVERT_INIT)) in SMARTCARD_AdvFeatureConfig()
2645 assert_param(IS_SMARTCARD_ADVFEATURE_DATAINV(hsmartcard->AdvancedInit.DataInvert)); in SMARTCARD_AdvFeatureConfig()
2646 MODIFY_REG(hsmartcard->Instance->CR2, USART_CR2_DATAINV, hsmartcard->AdvancedInit.DataInvert); in SMARTCARD_AdvFeatureConfig()
2650 if (HAL_IS_BIT_SET(hsmartcard->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_SWAP_INIT)) in SMARTCARD_AdvFeatureConfig()
2652 assert_param(IS_SMARTCARD_ADVFEATURE_SWAP(hsmartcard->AdvancedInit.Swap)); in SMARTCARD_AdvFeatureConfig()
2653 MODIFY_REG(hsmartcard->Instance->CR2, USART_CR2_SWAP, hsmartcard->AdvancedInit.Swap); in SMARTCARD_AdvFeatureConfig()
2657 …if (HAL_IS_BIT_SET(hsmartcard->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_RXOVERRUNDISABLE_… in SMARTCARD_AdvFeatureConfig()
2659 assert_param(IS_SMARTCARD_OVERRUN(hsmartcard->AdvancedInit.OverrunDisable)); in SMARTCARD_AdvFeatureConfig()
2660 … MODIFY_REG(hsmartcard->Instance->CR3, USART_CR3_OVRDIS, hsmartcard->AdvancedInit.OverrunDisable); in SMARTCARD_AdvFeatureConfig()
2664 …if (HAL_IS_BIT_SET(hsmartcard->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_DMADISABLEONERROR… in SMARTCARD_AdvFeatureConfig()
2666 … assert_param(IS_SMARTCARD_ADVFEATURE_DMAONRXERROR(hsmartcard->AdvancedInit.DMADisableonRxError)); in SMARTCARD_AdvFeatureConfig()
2667 …MODIFY_REG(hsmartcard->Instance->CR3, USART_CR3_DDRE, hsmartcard->AdvancedInit.DMADisableonRxError… in SMARTCARD_AdvFeatureConfig()
2671 if (HAL_IS_BIT_SET(hsmartcard->AdvancedInit.AdvFeatureInit, SMARTCARD_ADVFEATURE_MSBFIRST_INIT)) in SMARTCARD_AdvFeatureConfig()
2673 assert_param(IS_SMARTCARD_ADVFEATURE_MSBFIRST(hsmartcard->AdvancedInit.MSBFirst)); in SMARTCARD_AdvFeatureConfig()
2674 MODIFY_REG(hsmartcard->Instance->CR2, USART_CR2_MSBFIRST, hsmartcard->AdvancedInit.MSBFirst); in SMARTCARD_AdvFeatureConfig()
2685 static HAL_StatusTypeDef SMARTCARD_CheckIdleState(SMARTCARD_HandleTypeDef *hsmartcard) in SMARTCARD_CheckIdleState() argument
2690 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; in SMARTCARD_CheckIdleState()
2696 if ((hsmartcard->Instance->CR1 & USART_CR1_TE) == USART_CR1_TE) in SMARTCARD_CheckIdleState()
2699 if (SMARTCARD_WaitOnFlagUntilTimeout(hsmartcard, USART_ISR_TEACK, RESET, tickstart, in SMARTCARD_CheckIdleState()
2707 if ((hsmartcard->Instance->CR1 & USART_CR1_RE) == USART_CR1_RE) in SMARTCARD_CheckIdleState()
2710 if (SMARTCARD_WaitOnFlagUntilTimeout(hsmartcard, USART_ISR_REACK, RESET, tickstart, in SMARTCARD_CheckIdleState()
2719 hsmartcard->gState = HAL_SMARTCARD_STATE_READY; in SMARTCARD_CheckIdleState()
2720 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in SMARTCARD_CheckIdleState()
2723 __HAL_UNLOCK(hsmartcard); in SMARTCARD_CheckIdleState()
2739 static HAL_StatusTypeDef SMARTCARD_WaitOnFlagUntilTimeout(SMARTCARD_HandleTypeDef *hsmartcard, uint… in SMARTCARD_WaitOnFlagUntilTimeout() argument
2743 while ((__HAL_SMARTCARD_GET_FLAG(hsmartcard, Flag) ? SET : RESET) == Status) in SMARTCARD_WaitOnFlagUntilTimeout()
2752 …CLEAR_BIT(hsmartcard->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE | USART_CR1_TXEIE_… in SMARTCARD_WaitOnFlagUntilTimeout()
2753 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); in SMARTCARD_WaitOnFlagUntilTimeout()
2755 hsmartcard->gState = HAL_SMARTCARD_STATE_READY; in SMARTCARD_WaitOnFlagUntilTimeout()
2756 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in SMARTCARD_WaitOnFlagUntilTimeout()
2759 __HAL_UNLOCK(hsmartcard); in SMARTCARD_WaitOnFlagUntilTimeout()
2774 static void SMARTCARD_EndTxTransfer(SMARTCARD_HandleTypeDef *hsmartcard) in SMARTCARD_EndTxTransfer() argument
2777 CLEAR_BIT(hsmartcard->Instance->CR1, (USART_CR1_TXEIE_TXFNFIE | USART_CR1_TCIE)); in SMARTCARD_EndTxTransfer()
2778 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); in SMARTCARD_EndTxTransfer()
2781 hsmartcard->gState = HAL_SMARTCARD_STATE_READY; in SMARTCARD_EndTxTransfer()
2791 static void SMARTCARD_EndRxTransfer(SMARTCARD_HandleTypeDef *hsmartcard) in SMARTCARD_EndRxTransfer() argument
2794 CLEAR_BIT(hsmartcard->Instance->CR1, (USART_CR1_RXNEIE_RXFNEIE | USART_CR1_PEIE)); in SMARTCARD_EndRxTransfer()
2795 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); in SMARTCARD_EndRxTransfer()
2798 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in SMARTCARD_EndRxTransfer()
2811 SMARTCARD_HandleTypeDef *hsmartcard = (SMARTCARD_HandleTypeDef *)(hdma->Parent); in SMARTCARD_DMATransmitCplt() local
2812 hsmartcard->TxXferCount = 0U; in SMARTCARD_DMATransmitCplt()
2817 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAT); in SMARTCARD_DMATransmitCplt()
2821 __HAL_SMARTCARD_ENABLE_IT(hsmartcard, hsmartcard->AdvancedInit.TxCompletionIndication); in SMARTCARD_DMATransmitCplt()
2832 SMARTCARD_HandleTypeDef *hsmartcard = (SMARTCARD_HandleTypeDef *)(hdma->Parent); in SMARTCARD_DMAReceiveCplt() local
2833 hsmartcard->RxXferCount = 0U; in SMARTCARD_DMAReceiveCplt()
2836 CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_PEIE); in SMARTCARD_DMAReceiveCplt()
2837 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); in SMARTCARD_DMAReceiveCplt()
2842 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_DMAR); in SMARTCARD_DMAReceiveCplt()
2846 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in SMARTCARD_DMAReceiveCplt()
2850 hsmartcard->RxCpltCallback(hsmartcard); in SMARTCARD_DMAReceiveCplt()
2853 HAL_SMARTCARD_RxCpltCallback(hsmartcard); in SMARTCARD_DMAReceiveCplt()
2865 SMARTCARD_HandleTypeDef *hsmartcard = (SMARTCARD_HandleTypeDef *)(hdma->Parent); in SMARTCARD_DMAError() local
2868 if (hsmartcard->gState == HAL_SMARTCARD_STATE_BUSY_TX) in SMARTCARD_DMAError()
2870 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAT)) in SMARTCARD_DMAError()
2872 hsmartcard->TxXferCount = 0U; in SMARTCARD_DMAError()
2873 SMARTCARD_EndTxTransfer(hsmartcard); in SMARTCARD_DMAError()
2878 if (hsmartcard->RxState == HAL_SMARTCARD_STATE_BUSY_RX) in SMARTCARD_DMAError()
2880 if (HAL_IS_BIT_SET(hsmartcard->Instance->CR3, USART_CR3_DMAR)) in SMARTCARD_DMAError()
2882 hsmartcard->RxXferCount = 0U; in SMARTCARD_DMAError()
2883 SMARTCARD_EndRxTransfer(hsmartcard); in SMARTCARD_DMAError()
2887 hsmartcard->ErrorCode |= HAL_SMARTCARD_ERROR_DMA; in SMARTCARD_DMAError()
2890 hsmartcard->ErrorCallback(hsmartcard); in SMARTCARD_DMAError()
2893 HAL_SMARTCARD_ErrorCallback(hsmartcard); in SMARTCARD_DMAError()
2905 SMARTCARD_HandleTypeDef *hsmartcard = (SMARTCARD_HandleTypeDef *)(hdma->Parent); in SMARTCARD_DMAAbortOnError() local
2906 hsmartcard->RxXferCount = 0U; in SMARTCARD_DMAAbortOnError()
2907 hsmartcard->TxXferCount = 0U; in SMARTCARD_DMAAbortOnError()
2911 hsmartcard->ErrorCallback(hsmartcard); in SMARTCARD_DMAAbortOnError()
2914 HAL_SMARTCARD_ErrorCallback(hsmartcard); in SMARTCARD_DMAAbortOnError()
2928 SMARTCARD_HandleTypeDef *hsmartcard = (SMARTCARD_HandleTypeDef *)(hdma->Parent); in SMARTCARD_DMATxAbortCallback() local
2930 hsmartcard->hdmatx->XferAbortCallback = NULL; in SMARTCARD_DMATxAbortCallback()
2933 if (hsmartcard->hdmarx != NULL) in SMARTCARD_DMATxAbortCallback()
2935 if (hsmartcard->hdmarx->XferAbortCallback != NULL) in SMARTCARD_DMATxAbortCallback()
2942 hsmartcard->TxXferCount = 0U; in SMARTCARD_DMATxAbortCallback()
2943 hsmartcard->RxXferCount = 0U; in SMARTCARD_DMATxAbortCallback()
2946 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; in SMARTCARD_DMATxAbortCallback()
2949 __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, in SMARTCARD_DMATxAbortCallback()
2954 hsmartcard->gState = HAL_SMARTCARD_STATE_READY; in SMARTCARD_DMATxAbortCallback()
2955 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in SMARTCARD_DMATxAbortCallback()
2959 hsmartcard->AbortCpltCallback(hsmartcard); in SMARTCARD_DMATxAbortCallback()
2962 HAL_SMARTCARD_AbortCpltCallback(hsmartcard); in SMARTCARD_DMATxAbortCallback()
2977 SMARTCARD_HandleTypeDef *hsmartcard = (SMARTCARD_HandleTypeDef *)(hdma->Parent); in SMARTCARD_DMARxAbortCallback() local
2979 hsmartcard->hdmarx->XferAbortCallback = NULL; in SMARTCARD_DMARxAbortCallback()
2982 if (hsmartcard->hdmatx != NULL) in SMARTCARD_DMARxAbortCallback()
2984 if (hsmartcard->hdmatx->XferAbortCallback != NULL) in SMARTCARD_DMARxAbortCallback()
2991 hsmartcard->TxXferCount = 0U; in SMARTCARD_DMARxAbortCallback()
2992 hsmartcard->RxXferCount = 0U; in SMARTCARD_DMARxAbortCallback()
2995 hsmartcard->ErrorCode = HAL_SMARTCARD_ERROR_NONE; in SMARTCARD_DMARxAbortCallback()
2998 __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, in SMARTCARD_DMARxAbortCallback()
3003 hsmartcard->gState = HAL_SMARTCARD_STATE_READY; in SMARTCARD_DMARxAbortCallback()
3004 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in SMARTCARD_DMARxAbortCallback()
3008 hsmartcard->AbortCpltCallback(hsmartcard); in SMARTCARD_DMARxAbortCallback()
3011 HAL_SMARTCARD_AbortCpltCallback(hsmartcard); in SMARTCARD_DMARxAbortCallback()
3026 SMARTCARD_HandleTypeDef *hsmartcard = (SMARTCARD_HandleTypeDef *)(hdma->Parent); in SMARTCARD_DMATxOnlyAbortCallback() local
3028 hsmartcard->TxXferCount = 0U; in SMARTCARD_DMATxOnlyAbortCallback()
3031 __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, SMARTCARD_CLEAR_FEF); in SMARTCARD_DMATxOnlyAbortCallback()
3034 hsmartcard->gState = HAL_SMARTCARD_STATE_READY; in SMARTCARD_DMATxOnlyAbortCallback()
3038 hsmartcard->AbortTransmitCpltCallback(hsmartcard); in SMARTCARD_DMATxOnlyAbortCallback()
3041 HAL_SMARTCARD_AbortTransmitCpltCallback(hsmartcard); in SMARTCARD_DMATxOnlyAbortCallback()
3055 SMARTCARD_HandleTypeDef *hsmartcard = (SMARTCARD_HandleTypeDef *)(hdma->Parent); in SMARTCARD_DMARxOnlyAbortCallback() local
3057 hsmartcard->RxXferCount = 0U; in SMARTCARD_DMARxOnlyAbortCallback()
3060 __HAL_SMARTCARD_CLEAR_FLAG(hsmartcard, in SMARTCARD_DMARxOnlyAbortCallback()
3065 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in SMARTCARD_DMARxOnlyAbortCallback()
3069 hsmartcard->AbortReceiveCpltCallback(hsmartcard); in SMARTCARD_DMARxOnlyAbortCallback()
3072 HAL_SMARTCARD_AbortReceiveCpltCallback(hsmartcard); in SMARTCARD_DMARxOnlyAbortCallback()
3086 static void SMARTCARD_TxISR(SMARTCARD_HandleTypeDef *hsmartcard) in SMARTCARD_TxISR() argument
3089 if (hsmartcard->gState == HAL_SMARTCARD_STATE_BUSY_TX) in SMARTCARD_TxISR()
3091 if (hsmartcard->TxXferCount == 0U) in SMARTCARD_TxISR()
3094 CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_TXEIE_TXFNFIE); in SMARTCARD_TxISR()
3097 __HAL_SMARTCARD_ENABLE_IT(hsmartcard, hsmartcard->AdvancedInit.TxCompletionIndication); in SMARTCARD_TxISR()
3101 hsmartcard->Instance->TDR = (uint8_t)(*hsmartcard->pTxBuffPtr & 0xFFU); in SMARTCARD_TxISR()
3102 hsmartcard->pTxBuffPtr++; in SMARTCARD_TxISR()
3103 hsmartcard->TxXferCount--; in SMARTCARD_TxISR()
3117 static void SMARTCARD_TxISR_FIFOEN(SMARTCARD_HandleTypeDef *hsmartcard) in SMARTCARD_TxISR_FIFOEN() argument
3122 if (hsmartcard->gState == HAL_SMARTCARD_STATE_BUSY_TX) in SMARTCARD_TxISR_FIFOEN()
3124 for (nb_tx_data = hsmartcard->NbTxDataToProcess ; nb_tx_data > 0U ; nb_tx_data--) in SMARTCARD_TxISR_FIFOEN()
3126 if (hsmartcard->TxXferCount == 0U) in SMARTCARD_TxISR_FIFOEN()
3129 CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_TXEIE_TXFNFIE); in SMARTCARD_TxISR_FIFOEN()
3132 __HAL_SMARTCARD_ENABLE_IT(hsmartcard, hsmartcard->AdvancedInit.TxCompletionIndication); in SMARTCARD_TxISR_FIFOEN()
3134 else if (READ_BIT(hsmartcard->Instance->ISR, USART_ISR_TXE_TXFNF) != 0U) in SMARTCARD_TxISR_FIFOEN()
3136 hsmartcard->Instance->TDR = (uint8_t)(*hsmartcard->pTxBuffPtr & 0xFFU); in SMARTCARD_TxISR_FIFOEN()
3137 hsmartcard->pTxBuffPtr++; in SMARTCARD_TxISR_FIFOEN()
3138 hsmartcard->TxXferCount--; in SMARTCARD_TxISR_FIFOEN()
3154 static void SMARTCARD_EndTransmit_IT(SMARTCARD_HandleTypeDef *hsmartcard) in SMARTCARD_EndTransmit_IT() argument
3157 __HAL_SMARTCARD_DISABLE_IT(hsmartcard, hsmartcard->AdvancedInit.TxCompletionIndication); in SMARTCARD_EndTransmit_IT()
3160 if (hsmartcard->RxState == HAL_SMARTCARD_STATE_READY) in SMARTCARD_EndTransmit_IT()
3163 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); in SMARTCARD_EndTransmit_IT()
3167 CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); in SMARTCARD_EndTransmit_IT()
3168 if ((hsmartcard->Init.Mode == SMARTCARD_MODE_TX) in SMARTCARD_EndTransmit_IT()
3169 && (hsmartcard->Init.NACKEnable == SMARTCARD_NACK_ENABLE)) in SMARTCARD_EndTransmit_IT()
3173 CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_RE); in SMARTCARD_EndTransmit_IT()
3175 if ((hsmartcard->Init.Mode == SMARTCARD_MODE_TX_RX) in SMARTCARD_EndTransmit_IT()
3176 || (hsmartcard->Init.NACKEnable == SMARTCARD_NACK_ENABLE)) in SMARTCARD_EndTransmit_IT()
3179 __HAL_SMARTCARD_FLUSH_DRREGISTER(hsmartcard); in SMARTCARD_EndTransmit_IT()
3181 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_UE); in SMARTCARD_EndTransmit_IT()
3184 hsmartcard->gState = HAL_SMARTCARD_STATE_READY; in SMARTCARD_EndTransmit_IT()
3187 hsmartcard->TxISR = NULL; in SMARTCARD_EndTransmit_IT()
3191 hsmartcard->TxCpltCallback(hsmartcard); in SMARTCARD_EndTransmit_IT()
3194 HAL_SMARTCARD_TxCpltCallback(hsmartcard); in SMARTCARD_EndTransmit_IT()
3207 static void SMARTCARD_RxISR(SMARTCARD_HandleTypeDef *hsmartcard) in SMARTCARD_RxISR() argument
3210 if (hsmartcard->RxState == HAL_SMARTCARD_STATE_BUSY_RX) in SMARTCARD_RxISR()
3212 *hsmartcard->pRxBuffPtr = (uint8_t)(hsmartcard->Instance->RDR & (uint8_t)0xFF); in SMARTCARD_RxISR()
3213 hsmartcard->pRxBuffPtr++; in SMARTCARD_RxISR()
3215 hsmartcard->RxXferCount--; in SMARTCARD_RxISR()
3216 if (hsmartcard->RxXferCount == 0U) in SMARTCARD_RxISR()
3218 CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_RXNEIE_RXFNEIE); in SMARTCARD_RxISR()
3221 if (hsmartcard->gState == HAL_SMARTCARD_STATE_READY) in SMARTCARD_RxISR()
3224 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); in SMARTCARD_RxISR()
3228 CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_PEIE); in SMARTCARD_RxISR()
3230 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in SMARTCARD_RxISR()
3233 hsmartcard->RxISR = NULL; in SMARTCARD_RxISR()
3237 hsmartcard->RxCpltCallback(hsmartcard); in SMARTCARD_RxISR()
3240 HAL_SMARTCARD_RxCpltCallback(hsmartcard); in SMARTCARD_RxISR()
3247 __HAL_SMARTCARD_SEND_REQ(hsmartcard, SMARTCARD_RXDATA_FLUSH_REQUEST); in SMARTCARD_RxISR()
3260 static void SMARTCARD_RxISR_FIFOEN(SMARTCARD_HandleTypeDef *hsmartcard) in SMARTCARD_RxISR_FIFOEN() argument
3266 if (hsmartcard->RxState == HAL_SMARTCARD_STATE_BUSY_RX) in SMARTCARD_RxISR_FIFOEN()
3268 for (nb_rx_data = hsmartcard->NbRxDataToProcess ; nb_rx_data > 0U ; nb_rx_data--) in SMARTCARD_RxISR_FIFOEN()
3270 *hsmartcard->pRxBuffPtr = (uint8_t)(hsmartcard->Instance->RDR & (uint8_t)0xFF); in SMARTCARD_RxISR_FIFOEN()
3271 hsmartcard->pRxBuffPtr++; in SMARTCARD_RxISR_FIFOEN()
3273 hsmartcard->RxXferCount--; in SMARTCARD_RxISR_FIFOEN()
3274 if (hsmartcard->RxXferCount == 0U) in SMARTCARD_RxISR_FIFOEN()
3276 CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_RXNEIE_RXFNEIE); in SMARTCARD_RxISR_FIFOEN()
3279 if (hsmartcard->gState == HAL_SMARTCARD_STATE_READY) in SMARTCARD_RxISR_FIFOEN()
3282 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_EIE); in SMARTCARD_RxISR_FIFOEN()
3286 CLEAR_BIT(hsmartcard->Instance->CR1, USART_CR1_PEIE); in SMARTCARD_RxISR_FIFOEN()
3288 hsmartcard->RxState = HAL_SMARTCARD_STATE_READY; in SMARTCARD_RxISR_FIFOEN()
3291 hsmartcard->RxISR = NULL; in SMARTCARD_RxISR_FIFOEN()
3295 hsmartcard->RxCpltCallback(hsmartcard); in SMARTCARD_RxISR_FIFOEN()
3298 HAL_SMARTCARD_RxCpltCallback(hsmartcard); in SMARTCARD_RxISR_FIFOEN()
3307 rxdatacount = hsmartcard->RxXferCount; in SMARTCARD_RxISR_FIFOEN()
3308 if (((rxdatacount != 0U)) && (rxdatacount < hsmartcard->NbRxDataToProcess)) in SMARTCARD_RxISR_FIFOEN()
3311 CLEAR_BIT(hsmartcard->Instance->CR3, USART_CR3_RXFTIE); in SMARTCARD_RxISR_FIFOEN()
3314 hsmartcard->RxISR = SMARTCARD_RxISR; in SMARTCARD_RxISR_FIFOEN()
3317 SET_BIT(hsmartcard->Instance->CR1, USART_CR1_RXNEIE_RXFNEIE); in SMARTCARD_RxISR_FIFOEN()
3323 __HAL_SMARTCARD_SEND_REQ(hsmartcard, SMARTCARD_RXDATA_FLUSH_REQUEST); in SMARTCARD_RxISR_FIFOEN()