2020-06-15 06:52 AM
Hello everyone, im currently studying DMA on STM boards, and im trying to send I2C messages from a mcu SLAVE (arduino) to STM32F407VET6 master, but both SCL and SDA lines is held low, it doesn´t happen when im using I2C in polling or interrupt mode, only with dma. There is something that i have to change in arduino code when im using dma?
Below some configurations that i made:
main.c
msp.c
arduino code (this code is used for i2c in polling mode and dma mode)
2020-06-15 06:59 AM
Just to explain, the timer controls when the i2c will request data from arduino.
2020-06-22 04:04 PM
I forgot to implement I2C1_EV_IRQHandler so when one step was completed by the i2c peripheral, the i2c did not warn the dma, and the dma does not continue, the first stage that was to clear SB and load slave address was not performed. Now its working.