排序器的连续的自动排序模式:
AdcRegs.ADCTRL1.CONT_RUN=1;
排序器的启动/停止模式:
AdcRegs.ADCTRL1.CONT_RUN=0;
排序器(SEQ1和SEQ2)启动/停止模式可在不同时间分别和多个启动触发信号同步,一旦排序器完成了第一个排序,这个排序意味这所有一轮的变换,可允许排序器不需要复位到初始状态(CONV00)下重新触发排序器。因此当一个转换序列结束时,排序器就停止在当前转换状态。当下一个触发信号到来时,ADC模块进行下一轮转换。注意,对于2个触发源,如果前后要求转换的个数不同,需要在下一个触发源信号到来之前在ISR里改变MAX_CONV1的值。否则ADC模块会默认使用原来的MAX_CONV1。
转换序列完成后,转换结果存储到相应的结果寄存器中,并且,此时排序器停止在最终的转换状态,SEQ1保持在下一个触发的“等待”状态,用户可以通过软件复位SEQ1,使排序指针指到CONV00:
AdcRegs.ADCTRL2.RST SEQ1=1;
排序器处于空闲状态时,收到一个SOC触发源信号,ADC模块才能启动一个自动转换排序。这里空闲状态是指SEQ1或级联的排序器指针指向CONV00,SEQ2的指针指向CONV08,或排序器完成一个转换序列,SEQ_CNTRn为0.当SOC_SEQ1为1(SOC挂起),转换序列正在运行,随后的触发不起作用。被触发后,排序器不能中断或停止,只有排序序列结束或复位排序器,才能使排序器恢复到初始空闲状态