| | | 顺序 |
| | 双序 | 并发(同步) |
| 启停工作 | | 顺序 |
ADC工作模式 | | 级联 | 并发(同步) |
| | |
| | 顺序 |
| 连续工作 | 双序 | 并发(同步) |
| | | 顺序 |
| | 级联 | 并发(同步) |
AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; // 级联模式---相当于1个排序器
AdcRegs.ADCTRL3.bit.SMODE_SEL= 0; // 顺序采样
AdcRegs.ADCMAXCONV.bit.MAX_CONV1 =0xf ; // 要转换的通道数,这个自己定义0x1-0xF
实例1:
AdcRegs.ADCCHSELSEQ1.all = 0x3210; 0---对应ADCRESULT0--ADCINA0
AdcRegs.ADCCHSELSEQ2.all = 0x7654;
AdcRegs.ADCCHSELSEQ3.all = 0xBA98;
AdcRegs.ADCCHSELSEQ4.all = 0xFEDC;
实例2:
AdcRegs.ADCMAXCONV.bit.MAX_CONV1 =0x3 ;//要转换的通道数有4个(CONV00--CONV03)--主要根据这个
因为后边移动的时候是CONV00,CONV01这样依次增加的
AdcRegs.ADCCHSELSEQ1.bit.CONV00---ADCRESULT0
AdcRegs.ADCCHSELSEQ1.bit.CONV01---ADCRESULT1
AdcRegs.ADCCHSELSEQ1.bit.CONV02---ADCRESULT2
AdcRegs.ADCCHSELSEQ1.bit.CONV03---ADCRESULT3
实例3:
AdcRegs.ADCMAXCONV.bit.MAX_CONV1 =0x7 ; // 要转换的通道数有8个--主要根据这个
因为后边移动的时候是CONV00,CONV01这样依次增加的
AdcRegs.ADCCHSELSEQ1.bit.CONV00---ADCRESULT0--(0x0-0xF随便填)
AdcRegs.ADCCHSELSEQ1.bit.CONV01---ADCRESULT1
AdcRegs.ADCCHSELSEQ1.bit.CONV02---ADCRESULT2
AdcRegs.ADCCHSELSEQ1.bit.CONV03---ADCRESULT3
AdcRegs.ADCCHSELSEQ2.bit.CONV04---ADCRESULT4
AdcRegs.ADCCHSELSEQ2.bit.CONV05---ADCRESULT5
AdcRegs.ADCCHSELSEQ2.bit.CONV06---ADCRESULT6
AdcRegs.ADCCHSELSEQ2.bit.CONV07---ADCRESULT7
AdcRegs.ADCTRL1.bit.SEQ_CASC = 0; // 双序模式---两个排序器
AdcRegs.ADCTRL3.bit.SMODE_SEL= 0; // 顺序采样
AdcRegs.ADCMAXCONV.bit.all=0x23 ; // 2--B组采样有3个,3对应A组采样有4个
BA
//从上边这个话里已经知道
AdcRegs.ADCCHSELSEQ1.bit.CONV00-------ADCRESULT0(0x0--0x7任意一个)
AdcRegs.ADCCHSELSEQ1.bit.CONV01-------ADCRESULT1
AdcRegs.ADCCHSELSEQ1.bit.CONV02-------ADCRESULT2
AdcRegs.ADCCHSELSEQ1.bit.CONV03-------ADCRESULT3
AdcRegs.ADCCHSELSEQ3.bit.CONV08-------ADCRESULT4
AdcRegs.ADCCHSELSEQ3.bit.CONV09-------ADCRESULT5
AdcRegs.ADCCHSELSEQ3.bit.CONV010-------ADCRESULT6
//双序模式下ADCCHSELSEQ1,ADCCHSELSEQ2----里边放A0-A7
//双序模式下ADCCHSELSEQ3,ADCCHSELSEQ4----里边放B0-B7
//双序模式下ADCCHSELSEQ1,ADCCHSELSEQ2优先级高于ADCCHSELSEQ3,ADCCHSELSEQ4
AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; // 级联模式
AdcRegs.ADCTRL3.bit.SMODE_SEL= 1; // 并发采样
AdcRegs.ADCMAXCONV.bit.all=0x3 ; // 采样4个---一次采样两个,一共8个
//从上边这个话里已经知道
AdcRegs.ADCCHSELSEQ1.bit.CONV00-------ADCRESULT0(0x0--0x7任意一个)
AdcRegs.ADCCHSELSEQ1.bit.CONV01-------ADCRESULT2
AdcRegs.ADCCHSELSEQ1.bit.CONV02-------ADCRESULT4
AdcRegs.ADCCHSELSEQ1.bit.CONV03-------ADCRESULT6
实例1:
AdcRegs.ADCMAXCONV.bit.all=0x1 ; // 采样2个---一次采样两个,一共4个
AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x3-------ADCRESULT0(0x0--0x7任意一个)
AdcRegs.ADCCHSELSEQ1.bit.CONV01=0x2-------ADCRESULT2
A3-------ADCRESULT0
B3-------ADCRESULT1
A2-------ADCRESULT2
B2-------ADCRESULT3
AdcRegs.ADCTRL1.bit.SEQ_CASC = 0; // 双序模式
AdcRegs.ADCTRL3.bit.SMODE_SEL= 1; // 并发采样
AdcRegs.ADCMAXCONV.bit.all=0x23 ; // 2--B组采样有3个,3对应A组采样有4个
BA
//从上边这个话里已经知道
AdcRegs.ADCCHSELSEQ1.bit.CONV00-------ADCRESULT0(0x0--0x7任意一个)
AdcRegs.ADCCHSELSEQ1.bit.CONV01-------ADCRESULT1
AdcRegs.ADCCHSELSEQ1.bit.CONV02-------ADCRESULT2
AdcRegs.ADCCHSELSEQ1.bit.CONV03-------ADCRESULT3
AdcRegs.ADCCHSELSEQ3.bit.CONV08-------ADCRESULT4
AdcRegs.ADCCHSELSEQ3.bit.CONV09-------ADCRESULT5
AdcRegs.ADCCHSELSEQ3.bit.CONV010-------ADCRESULT5
注意只能使用ADCCHSELSEQ1,ADCCHSELSEQ3
实例1:
AdcRegs.ADCMAXCONV.bit.all=0x23 ;
BA
AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x2-------ADCRESULT0(0x0--0x7任意一个)
AdcRegs.ADCCHSELSEQ1.bit.CONV01=0x0-------ADCRESULT2
AdcRegs.ADCCHSELSEQ1.bit.CONV02=0x1-------ADCRESULT4
AdcRegs.ADCCHSELSEQ1.bit.CONV03=0x3-------ADCRESULT6
A2-------ADCRESULT0
B2-------ADCRESULT1
A0-------ADCRESULT2
B0-------ADCRESULT3
A1-------ADCRESULT4
B1-------ADCRESULT5
A3-------ADCRESULT6
B3-------ADCRESULT7
AdcRegs.ADCCHSELSEQ3.bit.CONV08=0x6-------ADCRESULT4
AdcRegs.ADCCHSELSEQ3.bit.CONV09=0x4-------ADCRESULT5
AdcRegs.ADCCHSELSEQ3.bit.CONV010==0x7-------ADCRESULT5
A6-------ADCRESULT0
B6-------ADCRESULT1
A4-------ADCRESULT2
B4-------ADCRESULT3