summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwdfk-prog <[email protected]>2026-04-13 11:44:23 +0800
committerRbb666 <[email protected]>2026-04-13 17:52:38 +0800
commitfab59660abd0a72f47df7cfb21776581f45a8eb0 (patch)
treed23b94c3275d4f0d0f534a80c6a9a50b99bcf48c
parent141895ec822bbba200a56af099a83f7234ae8b7a (diff)
fix:[STM32][I2C]:DMA RX setting bug
-rw-r--r--bsp/stm32/libraries/HAL_Drivers/drivers/drv_hard_i2c.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/bsp/stm32/libraries/HAL_Drivers/drivers/drv_hard_i2c.c b/bsp/stm32/libraries/HAL_Drivers/drivers/drv_hard_i2c.c
index 9afd277129..2c3778199f 100644
--- a/bsp/stm32/libraries/HAL_Drivers/drivers/drv_hard_i2c.c
+++ b/bsp/stm32/libraries/HAL_Drivers/drivers/drv_hard_i2c.c
@@ -554,9 +554,9 @@ int RT_hw_i2c_bus_init(void)
#endif
#if defined(SOC_SERIES_STM32F2) || defined(SOC_SERIES_STM32F4) || defined(SOC_SERIES_STM32F7) || defined(SOC_SERIES_STM32MP1) || defined(SOC_SERIES_STM32H7)
i2c_objs[i].dma.handle_rx.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
- i2c_objs[i].dma.handle_tx.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL;
- i2c_objs[i].dma.handle_tx.Init.MemBurst = DMA_MBURST_INC4;
- i2c_objs[i].dma.handle_tx.Init.PeriphBurst = DMA_PBURST_INC4;
+ i2c_objs[i].dma.handle_rx.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL;
+ i2c_objs[i].dma.handle_rx.Init.MemBurst = DMA_MBURST_INC4;
+ i2c_objs[i].dma.handle_rx.Init.PeriphBurst = DMA_PBURST_INC4;
#endif /* defined(SOC_SERIES_STM32F2) || defined(SOC_SERIES_STM32F4) || defined(SOC_SERIES_STM32F7) || defined(SOC_SERIES_STM32MP1) || defined(SOC_SERIES_STM32H7) */
{
rt_uint32_t tmpreg = 0x00U;
@@ -577,7 +577,6 @@ int RT_hw_i2c_bus_init(void)
}
}
-#ifdef BSP_I2C_USING_DMA
if (i2c_objs[i].i2c_dma_flag & RT_DEVICE_FLAG_DMA_TX)
{
i2c_objs[i].dma.handle_tx.Instance = i2c_config[i].dma_tx->Instance;