各位专家:
你好。 向客户体验寻求您对此问题的帮助、并代表客户发布此问题。
此链接很有用、
问题、如何使用同一方案对多个 ADC 通道进行采样? 是否有任何示例 code.guide?
谢谢你。
此致、
阿尔基·A.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
各位专家:
你好。 向客户体验寻求您对此问题的帮助、并代表客户发布此问题。
此链接很有用、
问题、如何使用同一方案对多个 ADC 通道进行采样? 是否有任何示例 code.guide?
谢谢你。
此致、
阿尔基·A.
简而言之、答案是:使用 CONSEQ=3而不是 CONSEQ=2 (MSC=1)。 这将增加新的复杂性:
1)当 CONSEQ=3 (或=1)时、ADC10从 INCH 开始对通道进行倒计数。 引用的线程使用 inch=10、因此每个周期可以得到11次转换(A10->A0)。 这不会损害未使用的通道(未在 AE0中得到反映)、但您必须为额外的转换留出空间/时间。
2) 2)由于只有一个 MEM 寄存器、因此您无法在结果到达时尽快获取结果。 您需要使用 DTC (定制 DMA 引擎)将其放入您自己的阵列中。
TI 示例中最接近的匹配可能是此处的 msp430g2x33_ADC10_14.c:
https://dev.ti.com/tirex/explore/node?node=ACEuPdRDfguvAkgIDxhY1w__IOGqZri__LATEST
浏览 ADC10_14代码、未经请求的建议是不要这样做:
>ADC10SA = 0x200;//数据缓冲区启动
它可以在 SRAM 的开头有效地分配32字的数组、而无需告知链接器。 这将在本示例中起作用(因为没有全局变量)、但不进行缩放。 相反、声明一个诚实的数组并指定:
>无符号结果[0x20]; // DTC 接收器(上面 DTC1的0x20稳定)
>ADC10SA =(无符号)和结果[0];//数据缓冲区启动