小弟初学,在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:
好的,谢谢您的耐心解答