This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I am using the MSP432E401 to read from a TMP117 temperature sensor which has an I2C interface. The TMP117 generates a signal (ALERT) when data is ready. I need to capture data from the TMP117 into internal memory on the MSP432. The TMP117 generates data at a much faster rate than I need to sample it and I don't want load down the CPU processing multiple temperature interrupts. It would be nice if I could configure the MSP432 uDMA to transfer the data from the TMP117 to internal memory each time that ALERT is asserted. Is it possible to set up the uDMA to trigger a transfer from I2C to internal memory when an external GPIO is activated (either edge or level sensitive) without requiring the CPU to intervene? If so can you please point me to an RTOS example demonstrating this?
Thanks,
Philip
Hey Philip,
Sorry for the delay, were you able to figure out a way to enable this in your system? I looked at our existing I2c example code for MSP432E4 and it's not RTOS based. You can find it here:
There is also an associated app note that discusses I2C Master Fuction on the MSP432E401 here:
Anyway, if I understand correctly, it sounds like the E401 is the I2C master, but the sensor triggers a read externally. I think this may be possible using DMA only, but I think you will have some challenges. First, you can trigger the DMA transfer with a GPIO, which I think you could use to transfer data from memory to the I2C and start a TX. You would need a separate DMA channel to handle the received data back on the I2C.
Typically at this point, the I2C module/DMA would interrupt the CPU to let it know data is read but it sounds like you don't want this. You'd have to configure the DMA to fill a buffer and then let you know once full. I think you may be able to do this using the DMA's ping pong mode, but I'm not sure.
Unfortunately, this is about the edge of my MSP432E4 DMA expertise.
Thanks,
JD