TI中文支持网
TI专业的中文技术问题搜集分享网站

ADC MUX

小弟初学,在28035中的关于adc的应用,adcMUX这个部分模块一般都做什么功能呢?GpioCtrlRegs.AIOMUX1.bit.AIO2 = 2;这样设置是何意?请求支援

user3900194:

回复 Eric Ma:

GpioCtrlRegs.AIOMUX1.bit.AIO2 = 2;    // Configure AIO2 for A2 (analog input) operation    GpioCtrlRegs.AIOMUX1.bit.AIO4 = 2;    // Configure AIO4 for A4 (analog input) operation    GpioCtrlRegs.AIOMUX1.bit.AIO6 = 2;    // Configure AIO6 for A6 (analog input) operation    GpioCtrlRegs.AIOMUX1.bit.AIO10 = 2;   // Configure AIO10 for B2 (analog input) operation    GpioCtrlRegs.AIOMUX1.bit.AIO12 = 2;   // Configure AIO12 for B4 (analog input) operation    GpioCtrlRegs.AIOMUX1.bit.AIO14 = 2;

这些设置的意思是2、4、6、10、12、14都为adc输入引脚吗,为何其值都为2呢?我没有找到ti相关的文档说明此设置,能否给推荐一下,谢谢

小弟初学,在28035中的关于adc的应用,adcMUX这个部分模块一般都做什么功能呢?GpioCtrlRegs.AIOMUX1.bit.AIO2 = 2;这样设置是何意?请求支援

user3900194:

回复 Eric Ma:

我下载的28035例程关于adc采样的,DSP2803x_examples\adc_soc,我在程序中跑时,从AdcResult.ADCRESULT0得到的采样数字量与实际电压值经过

4096*(input  Analog -0)/3.3运算得到的值不对,要小的多这是为什呢,我程序都没动,基准电压是用的内部参考:

AdcRegs.ADCCTL1.bit.ADCBGPWD = 1; // Power ADC BG AdcRegs.ADCCTL1.bit.ADCREFPWD = 1; // Power reference AdcRegs.ADCCTL1.bit.ADCPWDN = 1; // Power ADC AdcRegs.ADCCTL1.bit.ADCENABLE = 1; // Enable ADC AdcRegs.ADCCTL1.bit.ADCREFSEL = 0; // Select interal BG

小弟初学,在28035中的关于adc的应用,adcMUX这个部分模块一般都做什么功能呢?GpioCtrlRegs.AIOMUX1.bit.AIO2 = 2;这样设置是何意?请求支援

Eric Ma:

回复 user3900194:

这个例程中转换SOC0,SOC1,SOC2,其中SOC0的结果是要丢弃的,具体查看勘误表说明,也即是ADCRESULT0的结果要丢弃,查看ADCRESULT1,ADCRESULT2.

Eric

小弟初学,在28035中的关于adc的应用,adcMUX这个部分模块一般都做什么功能呢?GpioCtrlRegs.AIOMUX1.bit.AIO2 = 2;这样设置是何意?请求支援

user3900194:

回复 Eric Ma:

在28035例程中,我在这将AIOMUX定义为IO功能,将IO分别加电压时,没有定义其为ADC输入引脚,为何还有正确的采样值呢?岂不是定义IO和ADC都一样了?还是说我哪个地方又没有注意到,谢谢指正!

 GpioCtrlRegs.AIOMUX1.bit.AIO2 = 0;    // Configure AIO2 for A2 (analog input) operation    GpioCtrlRegs.AIOMUX1.bit.AIO4 = 0;    // Configure AIO4 for A4 (analog input) operation    GpioCtrlRegs.AIOMUX1.bit.AIO6 = 0;    // Configure AIO6 for A6 (analog input) operation    GpioCtrlRegs.AIOMUX1.bit.AIO10 = 0;   // Configure AIO10 for B2 (analog input) operation    GpioCtrlRegs.AIOMUX1.bit.AIO12 = 0;   // Configure AIO12 for B4 (analog input) operation    GpioCtrlRegs.AIOMUX1.bit.AIO14 = 0;   // Configure AIO14 for B6 (analog input) operation

小弟初学,在28035中的关于adc的应用,adcMUX这个部分模块一般都做什么功能呢?GpioCtrlRegs.AIOMUX1.bit.AIO2 = 2;这样设置是何意?请求支援

user3900194:

回复 Eric Ma:

向28035的80个引脚的第16个引脚ADCINA2/COMP1A/AIO2外加1v的模拟量,经过AdcResult.ADCRESULT0数字量为1240,所以说是正确的,

AdcRegs.ADCSOC0CTL.bit.CHSEL = 2; //set SOC0 channel select to ADCINA4 AdcRegs.ADCSOC1CTL.bit.CHSEL = 2;

我疑问是无论GpioCtrlRegs.AIOMUX1.bit.AIO2 = 0;还是GpioCtrlRegs.AIOMUX1.bit.AIO2 = 2;采样结果都正确呢,我配置成GpioCtrlRegs.AIOMUX1.bit.AIO2 = 0;即将AIOMUX1配置成IO口功能了,结果为何还能采样。这是我的疑问,请帮我解惑!谢谢

小弟初学,在28035中的关于adc的应用,adcMUX这个部分模块一般都做什么功能呢?GpioCtrlRegs.AIOMUX1.bit.AIO2 = 2;这样设置是何意?请求支援

user3900194:

回复 Eric Ma:

好的,谢谢您的耐心解答

赞(0)
未经允许不得转载:TI中文支持网 » ADC MUX
分享到: 更多 (0)