2023-06-22
02:10 AM
- last edited on
2023-07-03
09:05 AM
by
Lina_DABASINSKA
Hi,
This might seem a bit off topic but I really don't know where to raise this question. I didn't find any relevant discussion elsewhere.
I'm trying to use dma driven i2c and want to enable peripheral address increment in order to read consecutive registers from the sensor in a single dma read. However, the cubemx software has this option greyed out or disabled. I cannot click on the checkbox to enable this option. Does anyone have any idea why?
I am using I2C1 peripheral to read INA237 registers on STM32H7xx. CubeMX version is 6.5.0.
Thanks.
2023-06-22 02:24 PM
The auto-increment on the I2C bus is transactional and managed by the Slave.
If you use the HAL I2C memory read type functions to pull a block of data it should implicitly auto-increment, you don't need to tell the I2C Peripheral DMA to increment the peripheral register address on the Master.