Thread 中讨论的其他器件:controlSUITE
工具/软件:Code Composer Studio
您好!
我需要配置 ADCIN 0至4、因此我编码:
//配置 ADC
EALLOW;
GpioG2CtrlRegs.AIOMUX1.bit.AIO2 = 2;//为 A2 (模拟输入)操作配置 AIO2
GpioG2CtrlRegs.AIOMUX1.bit.AIO4 = 2;//为 A4 (模拟输入)操作配置 AIO4
Adc1Regs.ADCCTL2.bit.ADCNONOVERLAP = 1; //将 ADC 设置为非重叠模式
Adc1Regs.ADCCTL1.bit.INTPULSEPOS = 1; // INT 脉冲生成发生在 ADC 结果锁存在其结果寄存器之前的1个周期内
Adc1Regs.INTSEL1N2.bit.INT1E = 1; //启用 ADCINT1
Adc1Regs.INTSEL1N2.bit.INT1CONT = 0; //禁用 ADCINT1连续模式-用户必须为零标志
Adc1Regs.INTSEL1N2.bit.INT1SEL = 4; // EOC4为 ADCINT1触发
Adc1Regs.SOCPRICTL.bit.SOCPRIORITY = 5; // SOC0-SOC4为高优先级
//选择 SOC 的触发器
AnalogSysctrlRegs.TRIG1SEL.ALL = 11;//分配 EPWM3SOCA 来触发模拟子系统的1
//配置 SOC
//选择 ADC 输入通道
Adc1Regs.ADCSOC0CTL.bit.CHSEL = 0;//将 SOC0通道选择设置为 ADC1A0
Adc1Regs.ADCSOC1CTL.bit.CHSEL = 1;//将 SOC1通道选择设置为 ADC1A1
Adc1Regs.ADCSOC2CTL.bit.CHSEL = 2;//将 SOC2通道选择设置为 ADC1A2
Adc1Regs.ADCSOC3CTL.bit.CHSEL = 3;//将 SOC3通道选择设置为 ADC1A3 -未使用
Adc1Regs.ADCSOC4CTL.bit.CHSEL = 4;//将 SOC4通道选择设置为 ADC1A4
//为每个 SOC 选择触发器
Adc1Regs.ADCSOC0CTL.bit.TRIGSEL = 5;//将触发器1分配给 SOC0 TRIGSEL
Adc1Regs.ADCSOC1CTL.bit.TRIGSEL = 5;//将触发器1分配给 SOC1 TRIGSEL
Adc1Regs.ADCSOC2CTL.bit.TRIGSEL = 5;//将触发器1分配给 SOC2 TRIGSEL
Adc1Regs.ADCSOC3CTL.bit.TRIGSEL = 5;//将触发器1分配给 SOC3 TRIGSEL -未使用
Adc1Regs.ADCSOC4CTL.bit.TRIGSEL = 5;//将触发器1分配给 SOC4 TRIGSEL
//为每个 SOC 设置7个 ADC 时钟周期的 S/H 窗口
Adc1Regs.ADCSOC0CTL.bit.ACQPS = 6;//采样窗口的长度为7个周期(6 + 1个时钟周期)。
Adc1Regs.ADCSOC1CTL.bit.ACQPS = 6;//采样窗口的长度为7个周期(6 + 1个时钟周期)。
Adc1Regs.ADCSOC2CTL.bit.ACQPS = 6;//采样窗口的长度为7个周期(6 + 1个时钟周期)。
Adc1Regs.ADCSOC3CTL.bit.ACQPS = 6;//采样窗口的长度为7个周期(6 + 1个时钟周期)-未使用
Adc1Regs.ADCSOC4CTL.bit.ACQPS = 6;//采样窗口的长度为7个周期(6 + 1个时钟周期)。
EDIS;
所有 ADC-A0、ADC-A2、ADC-A3和 ADC-A4工作正常、但 ADC-A1不变。 我是否需要编写其他代码?

