工具/软件:
技术参考手册 (SPNU515C) 指出寄存器 ADG2RAMWRADDR 的“复位后的值“为 00000000h
我观察到、读取此寄存器(复位后和正常运行期间)始终返回 00000020h
在我的应用程序中、仅转换组 1 用于转换。
您能否解释一下为什么 ADEVRAMWRADDR 按预期返回 00000000h、但 ADG2RAMWRADDR 始终返回 00000020h?
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.
工具/软件:
技术参考手册 (SPNU515C) 指出寄存器 ADG2RAMWRADDR 的“复位后的值“为 00000000h
我观察到、读取此寄存器(复位后和正常运行期间)始终返回 00000020h
在我的应用程序中、仅转换组 1 用于转换。
您能否解释一下为什么 ADEVRAMWRADDR 按预期返回 00000000h、但 ADG2RAMWRADDR 始终返回 00000020h?
尊敬的 Paulo:
复位后和 ADC 初始化开始之前、该寄存器仅为 0 值。

只有在 ADC 初始化后、该值才会变为非零、具体取决于配置。

该值取决于 ADC 存储器配置、如下所示。

如上图所示、我们为 G1 内存右侧配置了 32 个字、即从 0x0 地址到 0x1F、这意味着 G2 内存起始地址将变为 32 位、即 0x20。 这就是初始化后它使用 0x20 进行初始化的原因。
在我的应用程序中、仅转换 Group1 用于转换。
即使您不使用 G2 通道、作为内存初始化的一部分、它也将使用 0x20 进行初始化。 您可以忽略它;它不会导致任何问题。
--
此致、
Jagadish。
尊敬的 Paulo:
如 TRM 中所述、该寄存器将指向 2 组存储器的下一个写入地址。

该寄存器初始值仅由边界寄存器值决定。 可以看到、它是在存储器边界值之后立即进行初始化。

基本上、在初始化之后、这个寄存器值将指向组 2 存储器的起始地址、然后它将在组 2 通道中的每次转换得到递增。

如果您看到我的配置、32 个字用于事件存储器右侧、因此右侧的 RAM 起始地址为 0x0、结束地址为 0x1F。 然后 G1 存储器将从 0x20 起始地址开始、该 G1 存储器有 16 个字、这意味着 G1 存储器结束地址位于 0x2F。 最后、从 0x30 组 2 存储器将开始、该地址将进入 ADG2RAMWRADDR。
我的道歉在我的最后一条评论,我忘了事件记忆.
--
此致、
Jagadish。