Freescale MKV4x系列MCU的ADC寄存器ADC_CLIST疑惑

2020-02-20 20:07发布

本帖最后由 Lu.Shi 于 2014-12-26 16:57 编辑

在Freescale MKV4x系列的MCU referenece manual的ADC模块里面有个ADC Channel List Register ADC_CLIST1, ADC_CLIST2, ADC_CLIST3, ADC_CLIST4 的作用是干什么的?文档中几乎没有描述,所以我猜测是不是将硬件的管脚对应的内部的结果寄存器对应,比如配置成如下
ADC_CLIST1 = ADC_CLIST1_SAMPLE0(0) /*ANA0*/
               | ADC_CLIST1_SAMPLE1(1)/*ANA1*/
               | ADC_CLIST1_SAMPLE2(2)/*ANA2*/
               | ADC_CLIST1_SAMPLE3(3);/*ANA3*/
上面是不是就表示ADC_RSLT0寄存器就存放ANA0的采集结果,同样ADC_RSLT1对应ANA1通道,ADC_RSLT2对应ANA2通道,ADC_RSLT3通道 对应ANA3通道呢?
假如配置成:
ADC_CLIST1 = ADC_CLIST1_SAMPLE0(5) /*ANA5*/
               | ADC_CLIST1_SAMPLE1(6)/*ANA6*/
               | ADC_CLIST1_SAMPLE2(7)/*ANA7*/
               | ADC_CLIST1_SAMPLE3(8);/*ANB0*/
上面是不是就表示ADC_RSLT0里面就是ANA5的采集结果,同样ADC_RSLT1对应ANA6通道,ADC_RSLT2对应ANA7通道,ADC_RSLT3通道 对应ANB1通道呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
子鱼
1楼-- · 2020-02-20 22:06
看手册PWM中ADC控制 有这样一段话看看能不能帮上忙:

1. ADC_CTRL1 寄存器中设置ST0P0;
2. 根据需求,在ADC_CTRL1 寄存器中使能最低限制和最高限制中断功能。并根据需要为单个终端或不同会话配置输入。
为循环顺序模式(Loop Sequential Mode)配置SMODE[2:0](也可以使用循环同时模式--Loop Parallel Mode);
3. 根据您的应用,在ADC_CTRL2 中设置合适的DIV 和其它控制字段;
4. 设置ADC_CLIST1 寄存器,以便SAMPLE0、SAMPLE1 和 SAMPLE2 能从规定的控制输入信号中获取采样。选中的输入采样将分别保存在ADC_RSLT0、ADC_RSLT1 和ADC_RSLT2 寄存器中。如果要测量其它输入,还需要设置其它SAMPLEn 字段。
5. 设置ADC_SDIS 寄存器,允许每次扫描至少可以使用3 个采样。可以使用数值0x00F8。
6. 将ADC_LOLIM0 – 2 寄存器设置为低阈值,将ADC_HILIM0 – 2 寄存器设置为高阈值。
7. 根据您的应用设置合适的ADC_0FFST0 – 2 寄存器(假设为0X0000)。
Lu.Shi
2楼-- · 2020-02-21 02:32
子鱼 发表于 2014-12-26 17:04
看手册PWM中ADC控制 有这样一段话看看能不能帮上忙:

感谢您的回复!我不知道是不是我先入为主的影响,我感觉设置ADC_CLIST1 寄存器,以便SAMPLE0、SAMPLE1 和 SAMPLE2 能从规定的控制输入信号中获取采样。选中的输入采样将分别保存在ADC_RSLT0、ADC_RSLT1 和ADC_RSLT2 寄存器中。如果要测量其它输入,还需要设置其它SAMPLEn 字段。的说法,好像就是我主帖的理解,不知道是否您也同意我的观点呢?
swap2013
3楼-- · 2020-02-21 03:11
如果有例程,看看是怎么用的
子鱼
4楼-- · 2020-02-21 06:13
 精彩回答 2  元偷偷看……
fengyunyu
5楼-- · 2020-02-21 10:21
关注下该问题。LZ可以看下ksdk中有没有相关例程或库函数,对照理解。

一周热门 更多>