소스 검색

[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 2 년 전
부모
커밋
dee73d5309
1개의 변경된 파일8개의 추가작업 그리고 0개의 파일을 삭제
  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;
     hspi->ErrorCode = HAL_SPI_ERROR_FLAG;
   }
   }
 
 
+  if (hspi->ErrorCode != HAL_SPI_ERROR_NONE)
+  {
+    errorcode = HAL_ERROR;
+  }
+  else
+  {
+    hspi->State = HAL_SPI_STATE_READY;
+  }
 
 
 error :
 error :
   __HAL_UNLOCK(hspi);
   __HAL_UNLOCK(hspi);