发 帖  
原厂入驻New
[问答] 如果使用采样序列0设置多个采样通道分别采样不同的数据,怎么分别把相应的采样结果读出来呢?
2020-8-26 14:08:13  56 采样
分享
TM4C123GH6PM有两个ADC模块,每个ADC模块有四个采样序列,每个采样序列又可以设置多个不同的采样通道。采样序列0可设置8个采样通道,采样序列1和2可设置4个采样通道,采样序列3 只能设置1个采样通道。如果使用采样序列0设置多个采样通道分别采样不同的数据,怎么分别把相应的采样结果读出来呢?
ADCSequenceConfigure(ADC0_BASE, 0, ADC_trigger_tiMER, 0);
ADCSequenceStepConfigure(ADC0_BASE, 0, 0, ADC_CTL_CH0);
ADCSequenceStepConfigure(ADC0_BASE, 0, 1, ADC_CTL_CH1);
ADCSequenceStepConfigure(ADC0_BASE, 0, 2, ADC_CTL_CH2|ADC_CTL_END | ADC_CTL_IE );
0
2020-8-26 14:08:13   评论 分享淘帖
3 个讨论
这个比较简单,你设置一个数组,比如你设置了八个通道都采样,那么你设置一个8元素的数组,然后使用ADCSequenceDataGet(ADC0_BASE, 0, g_pui32ADC0Value);获取,通道的值与对应序号的数组值对应。
2020-8-26 14:13:39 评论

举报

chm6 发表于 2020-8-26 14:13
这个比较简单,你设置一个数组,比如你设置了八个通道都采样,那么你设置一个8元素的数组,然后使用ADCSequenceDataGet(ADC0_BASE, 0, g_pui32ADC0Value);获取,通道的值与对应序号的数组值对应。

先设置一个数组变量    uint32_t pui32ADC0Value[8];
然后整体读取
//
// Read ADC Value.
//
ADCSequenceDataGet(ADC0_BASE, 0, pui32ADC0Value);
然后把各通道的采样值分别赋给相应的变量
ADCRESULTIa = pui32ADC0Value[0];
ADCRESULTIb = pui32ADC0Value[1];
ADCRESULTVdc = pui32ADC0Value[2];
是这样吗?
2020-8-26 14:32:16 评论

举报

kkusfwe 发表于 2020-8-26 14:32
先设置一个数组变量    uint32_t pui32ADC0Value[8];
然后整体读取
//

对的。就是这样的,但是必须记住,pui32ADC0Value的缓存区一定要大于等于你所开通的通道。
2020-8-26 14:47:50 评论

举报

只有小组成员才能发言,加入小组>>

1440个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表