[MCU] 多通道采集是如何实现的

[复制链接]
2696|56
chenho 发表于 2020-11-2 20:44 | 显示全部楼层
ADC12提供4种转换模式
stly 发表于 2020-11-2 20:50 | 显示全部楼层
这个转换代码没有什么问题吧。
supernan 发表于 2020-11-2 20:54 | 显示全部楼层

x=CSStartAdd,指向转换开始地址
ADC12MEMx存放转换结果
ADC12MCTLx寄存器中定义了通道和参考电压
在这种模式下,改变转换模式,不必先停止转换,在当前正在进行的转换结束后,可改变转换模式。该模式的停止可有如下几种办法:
使用CONSEQ=0的办法,改变为单通道单次模式。
使用ENC=0直接使当前转换完成后停止。
使用单通道单次模式替换当前模式,同时使ENC=0
pangb 发表于 2020-11-2 21:02 | 显示全部楼层
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR(void)
{
    static unsigned int index = 0;
     
    A0Results[index] = ADC12MEM0;               // Move A0 results, IFG is cleared
    A1Results[index] = ADC12MEM1;               // Move A1 results, IFG is cleared
    if(index++ >= (Num_of_Results-1))
    {
        ADC_Flag = 1;                           //ADC取样完成标志位置位
        index = 0;                              //清零索引
    }      
}
lium 发表于 2020-11-2 21:05 | 显示全部楼层
关注转换结束信号
存放转换数据以及采用查询或者中断方式读取数据
wangzsa 发表于 2020-11-2 21:08 | 显示全部楼层
ADC12BUSY——ADC12忙标志(只用于单通道单次转换模式,在其它转换模式下,该位无效)

0:表示没有活动的操作
1:表示ADC12正处于采样期间、转换期间或序列转换期间
bqyj 发表于 2020-11-2 21:13 | 显示全部楼层
可以使用DMA实现的。
xxrs 发表于 2020-11-2 21:18 | 显示全部楼层
这个参考代码的我这看下的了
zhuhuis 发表于 2020-11-2 21:24 | 显示全部楼层
ADC数据采集这一块的还不算复杂的呢
juventus9554 发表于 2020-11-2 21:29 | 显示全部楼层
还需要每个通道都要校准吗
pangb 发表于 2020-11-2 21:32 | 显示全部楼层
应该是顺序读取寄存器
liuzaiy 发表于 2020-11-2 21:40 | 显示全部楼层
通道序列转换时顺序选择通道
pangb 发表于 2020-11-2 21:44 | 显示全部楼层
当多通道采样时,先采高的通道,再采低的通道。
xxmmi 发表于 2020-11-2 21:48 | 显示全部楼层
每个通道转换完成
yufe 发表于 2020-11-2 21:52 | 显示全部楼层
它是先对高通道x采样,然后再到x-1,最后知道A0通道。
huanghuac 发表于 2020-11-2 21:57 | 显示全部楼层
只有一个ADC10MEMO寄存器
songqian17 发表于 2020-11-2 22:02 | 显示全部楼层
可以采用DMA的方式来直接将转换的结果传输到你需要存储的区域
zwll 发表于 2020-11-2 22:07 | 显示全部楼层
设置成SEQUENCE模式
llljh 发表于 2020-11-2 22:11 | 显示全部楼层

这个sequence会从A8一次轮询采样至A0。
supernan 发表于 2020-11-2 22:14 | 显示全部楼层
多通道多次采样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部