DSP

F28335_ADC使用

2019-07-13 15:35发布

CONV_RUN1时,无限次的会自动转换MAX_CONVn次,同时会把排序指针指向CONV00/08处,并重新开始;若为0时,每次触发转换MAX_CONVn次,但是指针不会自动指向CONV00/08处,需要自己使用RST_SEQn=1来调整指针。此指针包含排序部分和结果部分。   SEQ_OVRD用于CONV_RUN1时的连续运行模式   ADC转换结束时AdcRegs.ADCST.bit.INT_SEQ1会被置位,用它来判断是否转换完成 while (AdcRegs.ADCST.bit.INT_SEQ1== 0){}语句用于等待。后面还要有手动清除 AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1,除非使用了触发DMA功能,因为DMA会自动清除次标志。
因为ADC是12位的,比较好的方式就是ADC转换结束后直接出发DMA,把AdcMirror的值直接转移到自己的目的寄存器中,免去了CPU的操作,同时转移的数据也是12位的有效数据,可以直接使用,而不需要进行右移4位的操作。因此可以使用DMA中断来处理ADC转换结束后的代码