Other Parts Discussed in Thread: HALCOGEN
Recently I am learning to use the ADC, and there are some parts I don't understand.
Question:
- In case that ADC RAM Overrun ignore is enabled, when ADC is already overwriting RAM from the start point, what I will get if I read FIFO at this time? The data from the location that is overwritten, or just the oldest data in the RAM?
- Can I comprehend the FIFO as a circular buffer? which means that it always gives me the oldest data first. If one element in the buffer is overwritten, the read location points to the next data, leaving the new overwritten data as the newest.
- The ADC FIFO has an address range. But the TRM says I can access any of it for data. Did it means that:
- If I read one word, I can choose any address in range. (In HALCoGen generated code, it corresponds to BUF0~BUF7 register. )
- If I read multiple words using instruction LDM or memcpy function, I can cover all the addresses, and the ADC will automatically give me at most 8 results sequentially.