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.
工具/软件:Code Composer Studio
HII
我已经编写了代码来读取不同的 ADC 通道。
通道0和通道1的连接
PE3-AIN0-连接到外部电压
PE2-AIN1----短接 launchpad GND
外部电压接地与 launchad GND 短接
无论我施加到 AIN0上的电压是多少、我都会得到相同的电压、但当我在通道2和通道3上进行相同的连接时、它将无法正常工作
PE1-AIN2--连接到外部电压
PE0-AIN3--与 Launchpad GND 短接
以下代码我曾尝试过一次、如果我做了任何错误、请告知我
void DifferentialADCInit()
{
SysCtlPeripheralEnable (SYSCTL_Periph_ADC0);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOD);
GPIOPinTypeADC (GPIO_PORTD_base、GPIO_PIN_6 | GPIO_PIN_7);
ADCSequenceConfigure (ADC0_BASE、3、ADC_TRIGGER_PROCESSOR、0);
ADCSequenceStepConfigure (ADC0_BASE、3、0、ADC_CTL_CH2 | ADC_CTL_D | ADC_CTL_IE | ADC_CTL_END);
ADCSequenceEnable (ADC0_BASE、3);
}
void DifferentialADCRead()
{
ADCIntClear (ADC0_BASE、3);
ADCProcessorTrigger (ADC0_BASE、3);
while (!ADCIntStatus (ADC0_BASE、3、false));
ADCSequenceDataGet (ADC0_BASE、3、Diff_Read);
DIFF_OUT1 =((Diff 读取[0]-2048)*3.3)/2048.0;
}
int main (空)
{
ui32SysClock = SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480)、120000000);
DifferentialADCInit();
while (1)
{
DifferentialADCRead();
SysCtlDelay (4000000);
}
}
HII Charles
感谢您的回答。 我对通道2和通道3进行了相同的配置、以实现差分模式
PE1-AIN2--连接到外部电压
PE0-AIN3--与 Launchpad GND 短接
GPIOPinTypeADC (GPIO_Porte _BASE、GPIO_PIN_1 | GPIO_PIN_0);
它不起作用。 然后、我尝试检查通道4和通道5 (AIN4、AIN5)、它也无法正常工作。
PD7-AIN4连接到外部电压
PD6-AIN5---与 Launchpad GND 短接
只有 AIN0和 AIN1在差分模式下工作正常。
我的要求是 在差分模式下读取三个 ADC 通道。
请提供一些示例代码。
谢谢、致以诚挚的谢意
Anamika
HII Charles
下面是我尝试过的示例代码、它用于通道4和通道5、但它不起作用
PD7-AIN4连接到外部电压
PD6-AIN5---与 Launchpad GND 短接
void DifferentialADCInit()
{
SysCtlPeripheralEnable (SYSCTL_Periph_ADC0);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOD);
GPIOPinTypeADC (GPIO_PORTD_base、GPIO_PIN_6 | GPIO_PIN_7);
ADCSequenceConfigure (ADC0_BASE、3、ADC_TRIGGER_PROCESSOR、0);
ADCSequenceStepConfigure (ADC0_BASE、3、0、ADC_CTL_CH4 | ADC_CTL_D | ADC_CTL_IE | ADC_CTL_END);
ADCSequenceEnable (ADC0_BASE、3);
}
void DifferentialADCRead()
{
ADCIntClear (ADC0_BASE、3);
ADCProcessorTrigger (ADC0_BASE、3);
while (!ADCIntStatus (ADC0_BASE、3、false));
ADCSequenceDataGet (ADC0_BASE、3、Diff_Read);
DIFF_OUT1 =((Diff 读取[0]-2048)*3.3)/2048.0;
}
int main (空)
{
ui32SysClock = SysCtlClockFreqSet ((SYSCTL_XTAL_25MHz | SYSCTL_OSC_MAIN | SYSCTL_USE_PLL | SYSCTL_CFG_VCO_480)、120000000);
DifferentialADCInit();
while (1)
{
DifferentialADCRead();
SysCtlDelay (4000000);
}
}
谢谢、致以诚挚的谢意
Anamika
HII Charles、
感谢您的回答。 通过选择正确的通道对选择其工作方式、
感谢您的建议。
谢谢、致以诚挚的谢意
Anamika