diff --git a/libs/STM32_HAL/include/stm32g0xx/stm32g0xx_ll_usb.h b/libs/STM32_HAL/include/stm32g0xx/stm32g0xx_ll_usb.h index c4b71098..9e43fd19 100644 --- a/libs/STM32_HAL/include/stm32g0xx/stm32g0xx_ll_usb.h +++ b/libs/STM32_HAL/include/stm32g0xx/stm32g0xx_ll_usb.h @@ -642,7 +642,7 @@ typedef struct (wNBlocks)--; \ } \ \ - (pdwReg)|= (uint32_t)((((wNBlocks) << 26U)) | USB_CNTRX_BLSIZE); \ + (pdwReg) = ((pdwReg) & ~USB_CNTRX_NBLK_MSK) | (uint32_t)((((wNBlocks) << 26U)) | USB_CNTRX_BLSIZE); \ } while(0) /* USB_DRD_CALC_BLK32 */ #define USB_DRD_CALC_BLK2(pdwReg, wCount, wNBlocks) \ @@ -653,15 +653,13 @@ typedef struct { \ (wNBlocks)++; \ } \ - (pdwReg) |= (uint32_t)((wNBlocks) << 26U); \ + (pdwReg) = ((pdwReg) & ~(USB_CNTRX_BLSIZE | USB_CNTRX_NBLK_MSK)) | (uint32_t)((wNBlocks) << 26U); \ } while(0) /* USB_DRD_CALC_BLK2 */ #define USB_DRD_SET_CHEP_CNT_RX_REG(pdwReg, wCount) \ do { \ uint32_t wNBlocks; \ \ - (pdwReg) &= ~(USB_CNTRX_BLSIZE | USB_CNTRX_NBLK_MSK); \ - \ if ((wCount) > 62U) \ { \ USB_DRD_CALC_BLK32((pdwReg), (wCount), wNBlocks); \ @@ -670,7 +668,7 @@ typedef struct { \ if ((wCount) == 0U) \ { \ - (pdwReg) |= USB_CNTRX_BLSIZE; \ + (pdwReg) = ((pdwReg) & ~USB_CNTRX_NBLK_MSK) | USB_CNTRX_BLSIZE; \ } \ else \ { \