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.
大家好、
Q.1.有两个 ADC 模块、即 Tiva TM4C123GH6PM 中的 ADC0和 ADC1。 我想 一次连接6个传感器、所以我想知道 是否可以对 ADC0和 ADC1这两个模块使用 SS0和 SS0?
问题2.在 Tiva 的 ADC 模块的方框图中 有 SS0、采样序列发生器0的块,这两者之间有什么区别?
问题3. 控制/状态块的用途是什么?
数据表中未正确给出这些块说明。
#include
#include
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/debug.h"
#include "driverlib/sysctl.h"
#include "driverlib/adc.h"
int main (空)
{
uint32_t ui32ADC0Value[4];
volatile uint32_t ui32TempAvg;
volatile uint32_t ui32TempValueC;
volatile uint32_t ui32TempValueF;
SysCtlClockSet (SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_XTAL_16MHz);
SysCtlPeripheralEnable (SYSCTL_Periph_ADC0);
ADCSequenceConfigure (ADC0_BASE、1、ADC_TRIGGER_PROCESSOR、0);
ADCSequenceStepConfigure (ADC0_BASE、1、0、ADC_CTL_TS);
ADCSequenceStepConfigure (ADC0_BASE、1、1、ADC_CTL_TS);
ADCSequenceStepConfigure (ADC0_BASE、1、2、ADC_CTL_TS);
ADCSequenceStepConfigure (ADC0_BASE、1、3、ADC_CTL_TS|ADC_CTL_IE|ADC_CTL_END);
ADCSequenceEnable (ADC0_BASE、1);
while (1)
{
}
}
[引用 USER="Abhishek Dutta">Q.1.有两个 ADC 模块、即 Tiva TM4C123GH6PM 中的 ADC0和 ADC1。 我想 一次连接6个传感器、所以我想知道 是否可以对 ADC0和 ADC1这两个模块使用 SS0和 SS0?[/QUERT]
是的、您可以。 请参见下图。 ADINx 在两个 ADC 模块之间共享。
[引用 user="Abhishek Dutta"]问2..在 Tiva 的 ADC 模块的方框图中 ,有 SS0、采样序列发生器0的块,这两者之间有什么区别?[/quot]
SS0的块是什么意思? 我在图中看不到这一点。 图中显示了四个采样序列发生器 SS0、SS1、SS2和 SS3。 每个都支持不同数量的样本。 例如、SS0可以支持8个采样、而 SS3只能支持1个采样。 如果您有六个传感器需要采样、则需要选择 SS0。
[引用 user="Abhishek Dutta"]Q.3. 控制/状态块的用途是什么?
对于每个采样序列发生器、您需要先正确配置它们、然后才能使用它们。 我建议您在数据表中浏览这些寄存器。 更好的是、我建议您查看 TivaWare 库 ADC 示例、您将更好地了解如何配置 ADC。 TivaWare 库 API 将为您抽象配置、因此您无需准确了解每个控制寄存器的配置方式。