我 kΩ 使用来自 LaunchcXL-F28379D 的模拟输入 A2、A3、A4和 A5、为方便起见、所有这些输入都通过1 k Ω 电阻器连接到 GND。 所有输入均配置为16位输入。
现在有3种不同的情况。
A5:工作正常、电压范围为0V 至3.3V
A3+A4:ADCIN 上的电压为 GND,但结果寄存器包含65510... 65535、主要为65535。 另一个电压不会改变任何东西。
A2:运算放大器的输出为0V (正常)、在 ADCIN 上为3.0V (而非3.3V)。 AscResult 说0…… ~20。 另一个电压不会改变任何东西。
如果我将 LaunchcXL 与电路板完全断开、则电压会降至0V (µC 和电路板)。 如果我只断开与运算放大器的连接、那么在 ADCIN 上仍然有3.0V 电压
LaunchXL 用户指南显示仅与 μ µC 连接。 这意味着3.0V 电压来自 µC Ω。 但目前情况不一致。 对于 U16、写入"ADCINA2/CMPIN1P"(只输入)、信号名称为"ADCINA2/ANALOGUEIN"(只输入)、但在 J3时为"Analog OUT/I2S DO"(输出!)。
感谢您的帮助!
编辑:使用单模式时、原因是16位、使用 uf ADC A2。
下面是 ADCA 的配置:
EALLOW; EPwm9Regs.TBPRD = 2603; EPwm9Regs.TBCTR = 0; EPwm9Regs.TBCTL.bit.HSPCLKDIV = 0; EPwm9Regs.TBCTL.bit.CLKDIV = 0; EPwm9Regs.ETSEL.bit.SOCAEN = 1; EPwm9Regs.ETSEL.bit.SOCASEL = 1; EPwm9Regs.ETPS.bit.SOCAPRD = 1; PieVectTable.ADCA1_INT =&adca_ISR; AdcRegs.ADCCTL2.bit.prescale = 2; AdcSetMode (0、1、0); AdcRegs.ADCCTL1.bit.INTPULSEPOS = 1; AdcRegs.ADCCTL1.bit.ADCPWDNZ = 1; DELAY_US (1000); AdcaRegs.ADCINTSEL1N2.bit.INT1SEL = 1; AdcaRegs.ADCINTSEL1N2.bit.INT1E = 1; AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1; AdcaRegs.ADCSOC0CTL.bit.CHSEL= 3; AdcaRegs.ADCSOC0CTL.bit.TRIGSEL = 21; AdcRegs.ADCSO0CTL.bit.ACQPS= 511; AdcRegs.ADCSO1CTL.bit.CHSEL= 2; AdcRegs.ADCSO1CTL.bit.TRIGSEL = 21;Adcoc1CTS.ADCSOP.ADC1CTS.ADCTIGPS=511 AdcaRegs.ADCSOC2CTL.bit.CHSEL= 4; AdcaRegs.ADCSOC2CTL.bit.TRIGSEL = 21; AdcaRegs.ADCSOC2CTL.bit.ACQPS= 511; AdcaRegs.ADCSOC3CTL.bit.CHSEL= 5;AdcaRegs.ADCSOC3CTL.bit.ADCTIGSEL = 511;ADC3CL.ADCTIGSEL = 21 AdcaRegs.ADCSOC3CTL.bit.ACQPS= 511; EPwm9Regs.TBCTL.bit.CTRMODE = 0; EDIS; PieCtrlRegs.PIEIER1.bit.INTx1 = 1; IER |= M_INT1;