Posted on December 01, 2014 at 12:56Hello, I am interfacing SC620 LED driver using I2C. Here is a function where writing to the LED driver occurs./** * Write data to SC620 led driver register. * * @param[in] reg Select register. * @param[in] va...
Posted on December 02, 2014 at 10:06Update. The flickering on the scope seen when pin was toggled when ADDR flag was cleared (and why it was taking 58us) was because half transfer interrupt was enabled. Disabling that, makes flickering goes away and...
Posted on December 01, 2014 at 16:47It is L151, but there should be not too much difference. Correct, it calls I2C_MasterRequestWrite, but only to see it device is there (35microsecs I mentioned before). DMA request is enabled directly below. The id...
Posted on December 01, 2014 at 15:10Inside of HAL_I2C_Master_Transmit_DMA function, there is a line to clear the ADDR flag. I set the pin before that line, and clear it right after. Signal is connected to the scope. gpio_setPin(GPIOA,12,1); _...
Posted on December 01, 2014 at 14:48Sorry if I expressed myself wrong before, DMA does not make execution faster (after all, I2C speed I am running at is 400KHz, and transfer cannot be faster than that), but like you said, it frees the CPU to do oth...