原因是在首次启动DM A转换时,已经产生了一次EOC标志,导致DMA cnt寄存器次数减1,下一次转换的目标地址向后偏移一个。那为什么会产生EOC标志呢?逐步排查后发现是adc_special_function_config这个函数在初始化时重复调用了两次导致,应该是芯片缺陷吧。
原因是在首次启动DM A转换时,已经产生了一次EOC标志,导致DMA cnt寄存器次数减1,下一次转换的目标地址向后偏移一个。那为什么会产生EOC标志呢?逐步排查后发现是adc_special_function_config这个函数在初始化时重复调用了两次导致,应该是芯片缺陷吧。