Explorar el Código

[HAL][SPI] Fix driver to don't update state in case of error (HAL_SPI_STATE_READY will be set only in case of HAL_TIMEOUT)

Tasnim hace 2 años
padre
commit
dee73d5309
Se han modificado 1 ficheros con 8 adiciones y 0 borrados
  1. 8 0
      Src/stm32l4xx_hal_spi.c

+ 8 - 0
Src/stm32l4xx_hal_spi.c

@@ -1550,6 +1550,14 @@ HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxD
     hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
   }
 
+  if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
+  {
+    errorcode = HAL_ERROR;
+  }
+  else
+  {
+    hspi->State = HAL_SPI_STATE_READY;
+  }
 
 error :
   __HAL_UNLOCK(hspi);