mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #5505 from LMESTM/fix_smartcard_HAL
STM32: HAL smartcard, fix memory corruption in Receivepull/5358/merge
commit
dc6dd5961e
|
@ -500,7 +500,6 @@ HAL_StatusTypeDef HAL_SMARTCARD_Transmit(SMARTCARD_HandleTypeDef *hsc, uint8_t *
|
||||||
*/
|
*/
|
||||||
HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size, uint32_t Timeout)
|
HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size, uint32_t Timeout)
|
||||||
{
|
{
|
||||||
uint16_t* tmp;
|
|
||||||
uint32_t tickstart = 0U;
|
uint32_t tickstart = 0U;
|
||||||
|
|
||||||
if(hsc->RxState == HAL_SMARTCARD_STATE_READY)
|
if(hsc->RxState == HAL_SMARTCARD_STATE_READY)
|
||||||
|
@ -530,8 +529,7 @@ HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsc, uint8_t *p
|
||||||
{
|
{
|
||||||
return HAL_TIMEOUT;
|
return HAL_TIMEOUT;
|
||||||
}
|
}
|
||||||
tmp = (uint16_t*) pData;
|
*pData = (uint8_t)(hsc->Instance->DR & (uint8_t)0xFF);
|
||||||
*tmp = (uint8_t)(hsc->Instance->DR & (uint8_t)0xFF);
|
|
||||||
pData +=1U;
|
pData +=1U;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -496,7 +496,6 @@ HAL_StatusTypeDef HAL_SMARTCARD_Transmit(SMARTCARD_HandleTypeDef *hsc, uint8_t *
|
||||||
*/
|
*/
|
||||||
HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size, uint32_t Timeout)
|
HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size, uint32_t Timeout)
|
||||||
{
|
{
|
||||||
uint16_t* tmp;
|
|
||||||
uint32_t tickstart = 0U;
|
uint32_t tickstart = 0U;
|
||||||
|
|
||||||
if(hsc->RxState == HAL_SMARTCARD_STATE_READY)
|
if(hsc->RxState == HAL_SMARTCARD_STATE_READY)
|
||||||
|
@ -526,8 +525,7 @@ HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsc, uint8_t *p
|
||||||
{
|
{
|
||||||
return HAL_TIMEOUT;
|
return HAL_TIMEOUT;
|
||||||
}
|
}
|
||||||
tmp = (uint16_t*) pData;
|
*pData = (uint8_t)(hsc->Instance->DR & (uint8_t)0xFF);
|
||||||
*tmp = (uint8_t)(hsc->Instance->DR & (uint8_t)0xFF);
|
|
||||||
pData +=1U;
|
pData +=1U;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -497,7 +497,6 @@ HAL_StatusTypeDef HAL_SMARTCARD_Transmit(SMARTCARD_HandleTypeDef *hsc, uint8_t *
|
||||||
*/
|
*/
|
||||||
HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size, uint32_t Timeout)
|
HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsc, uint8_t *pData, uint16_t Size, uint32_t Timeout)
|
||||||
{
|
{
|
||||||
uint16_t* tmp;
|
|
||||||
uint32_t tickstart = 0U;
|
uint32_t tickstart = 0U;
|
||||||
|
|
||||||
if(hsc->RxState == HAL_SMARTCARD_STATE_READY)
|
if(hsc->RxState == HAL_SMARTCARD_STATE_READY)
|
||||||
|
@ -527,8 +526,7 @@ HAL_StatusTypeDef HAL_SMARTCARD_Receive(SMARTCARD_HandleTypeDef *hsc, uint8_t *p
|
||||||
{
|
{
|
||||||
return HAL_TIMEOUT;
|
return HAL_TIMEOUT;
|
||||||
}
|
}
|
||||||
tmp = (uint16_t*) pData;
|
*pData = (uint8_t)(hsc->Instance->DR & (uint8_t)0xFF);
|
||||||
*tmp = (uint8_t)(hsc->Instance->DR & (uint8_t)0xFF);
|
|
||||||
pData +=1U;
|
pData +=1U;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue