主题中讨论的其他器件:HALCOGEN
最近我学习使用 ADC、有一些我不理解的器件。
问题:
- 如果启用了 ADC RAM 溢出忽略功能、当 ADC 已经从起始点覆盖 RAM 时、如果此时读取 FIFO、我将得到什么结果? 来自被覆盖位置的数据、还是 RAM 中最早的数据?
- 我能不能理解 FIFO 是一个循环缓冲器? 这意味着它始终首先为我提供最早的数据。 如果缓冲区中的一个元素被覆盖、读取位置将指向下一个数据、而新的被覆盖数据将保留为最新数据。
- ADC FIFO 有一个地址范围。 但 TRM 说我可以访问其中的任何一个数据。 这是否意味着:
- 如果我读取一个字、我可以选择范围中的任何地址。 (在 HALCoGen 生成的代码中,它对应于 BUF0~BUF7寄存器。)
- 如果我使用指令 LDM 或 memcpy 函数读取多个字、我可以覆盖所有地址、ADC 将自动按顺序最多提供8个结果。