工具/软件:Code Composer Studio
您好! 我n`t 使用 PGA 输入! 我`m PGA_ex1_DAC_ADC_ext_loopback 示例。 我有自己的板、并将引脚 B1连接到模拟源。 此外、我已将所有 PGA 输入连接到模拟源。 以下是我的代码:
[代码]
if (adc_getInterruptStatus (my_adc_base、adc_int_number1))
{
//
//确认标志
//
ADC_clearInterruptStatus (my_ADC_base、ADC_INT_number1);
dacResult = ADC_readResult (ADCBRESULT_base、ADC_SOC_NUMBER0);
pgaResult = ADC_readResult (ADCBRESULT_base、ADC_SOC_number1);
//pgaGain =(float) pgaResult /(float) dacResult;
//
//强制 ADC 转换
//
ADC_forceSOC (my_ADC_base、ADC_SOC_NUMBER0);
adc_forceSOC (my_adc_base、adc_SOC_number1);
}
空 initADCSOC (空)
{
//
//配置 SOC0。 温度传感器在内部连接到 B14
//并且需要至少450ns 的采集时间。
//
ADC_setupSOC (my_ADC_base、ADC_SOC_NUMBER0、ADC_TRIGGER_EPWM1_SOCA、
ADC_CH_ADCIN1、45);
ADC_setupSOC (my_ADC_base、ADC_SOC_numer1、
ADC_TRIGGER_EPWM1_SOCA、ADC_CH_ADCIN2、45);
//
//设置 SOC0以设置中断1标志。 启用中断并使其变为
//确保其标志被清除。
//
ADC_setInterruptSource (my_ADC_base、ADC_INT_number1、ADC_SOC_number1);
ADC_enableInterrupt (my_ADC_base、ADC_INT_number1);
ADC_clearInterruptStatus (my_ADC_base、ADC_INT_number1);
}
[/代码]
基于该示例。 问题是、我的 PGA 输入似乎没有相应反应。 模拟输入工作、第二个值(pgaRsult)似乎在 B1输入之后。 我`ve 使用 CMPHPMUX 寄存器->很不幸。 在示例代码中、仅启用 PGA 模块。 再也没什么了。 我在 ADC_CH_ADCINx 上`ve 了不同的组合->运气不好。 我n`t 完全了解模拟和 PGA 输入的多路复用方式。 我是否必须使用另一个寄存器? 我是否必须启用滤波器、然后将 PGA 连接到模拟模块?
谢谢!