ADC补充知识点

文章详细阐述了如何配置ADC的工作模式,包括顺序级联、双序并发和并发采样。通过设置AdcRegs寄存器的不同位,可以实现不同数量的通道转换,如实例中展示的通道选择和结果映射。同时提到了级联和双序模式下的通道优先级和采样顺序。
摘要由CSDN通过智能技术生成

顺序
双序并发(同步)
启停工作顺序
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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值