因为需要,我要使用2812最高采样率12.5Mhz,我理解的是每次只能采一个点,12位数据存于result寄存器中,我想连续采样1ms,这样就有12500个数,如果我不把每次采样的数据移走,其结果将被下一次数据所覆盖,我设置的是单通道连续采样,并使AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1 = 1;我认为这样的话可以每次采样后使用中断将其数据移走。不知道我的理解是否正确,因为我发现中断几秒钟才发生一次,我不知道是不是程序的问题,还有个问题,引入中断会不会降低采样率?如果引入中断不行的话,有没其他方法能够在每次采样之前将数据取走呢?
Forrest:
2812最高采样速度80ns指的是顺序采样时两次采样的时间间隔,不算SOC,具体的楼主看一下2812 datasheet的6.30.6 Sequential Sampling Mode 章节吧,另外也请参考一下2812例程包中的例程:
www.ti.com.cn/…/sprc097
www.ti.com/…/tms320f2812
在之后的C2000芯片中引入了DMA可以不用CPU来进行数据搬移,但2812必须用中断程序搬移数据。