Other Parts Discussed in Thread: SYSBIOS
I set up a project in the SYS / BIOS environment, which established a timer with a period of 100 microseconds and an EDMA triggered by GPINT2, using EDMA to move AD sampling data (sampling a sine wave signal), flip the GPIO2 signal to trigger GPINT2 signal in the timer interrupt, and then trigger the EDMA move, and store the sampled data in the EDMA transfer completion interrupt (stored in DDR, clear the value in the EDMA destination address after storage), that is, the timer (flip the GPIO signal)-EDMA transfer completion interrupt (storage)-timer cycle.
However, during operation, it was found that using CCS to draw a waveform graph of the data in the storage area, there will be a case where the value in the storage area is 0 for a certain period of time (EDMA did not moved to the correct data), and then it returns to normal, normal data and data 0 alternately appears, but when this happens, the EDMA transfer completion interrupt will still be entered, and the transmission error signal will not be triggered, and the number of timer interrupts is the same as the number of EDMA transfer completion interrupts.
This situation makes me very puzzled. The correct entry of the EDMA transfer completion interrupt indicates that EDMA believes that the data has been moved to, but why the data is 0 (the sampling data is not 0, the oscilloscope has been tested). then how should the problem be solved?