This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
在以下代码中、如何更新通道的值以及'void SetupADCContinuy (uint16通道)'传递通道作为变量而非 L...的含义。 请建议
空设置 ADCContinuid (uint16通道)
{
uint16 acqps;
//
//根据分辨率确定最小采集窗口(在 SYSCLKS 中)
//
if (adc_resolution_12bit = AdcaRegs.ADCCTL2.bit.resolution)
{
acqps = 14;//75ns
}
否则、//分辨率为16位
{
acqps = 63;//320ns
}
EALLOW;
AdcaRegs.ADCSOC0CTL.bit.CHSEL =通道;//SOC 将在通道上转换
AdcaRegs.ADCSOC1CTL.bit.CHSEL =通道;//SOC 将在通道上转换
AdcaRegs.ADCSOC2CTL.bit.CHSEL =通道;//SOC 将在通道上转换
AdcaRegs.ADCSOC3CTL.bit.CHSEL =通道;//SOC 将在通道上转换
AdcaRegs.ADCSOC4CTL.bit.CHSEL =通道;//SOC 将在通道上转换
AdcaRegs.ADCSOC5CTL.bit.CHSEL =通道;//SOC 将在通道上转换
AdcaRegs.ADCSOC6CTL.bit.CHSEL =通道;//SOC 将在通道上转换
AdcaRegs.ADCSOC7CTL.bit.CHSEL =通道;//SOC 将在通道上转换
AdcaRegs.ADCSOC8CTL.bit.CHSEL =通道;//SOC 将在通道上转换
AdcaRegs.ADCSOC9CTL.bit.CHSEL =通道;//SOC 将在通道上转换
AdcaRegs.ADCSOC10CTL.bit.CHSEL =通道;//SOC 将在通道上转换
AdcaRegs.ADCSOC11CTL.bit.CHSEL =通道;//SOC 将在通道上转换
AdcaRegs.ADCSOC12CTL.bit.CHSEL =通道;//SOC 将在通道上转换
AdcaRegs.ADCSOC13CTL.bit.CHSEL =通道;//SOC 将在通道上转换
AdcaRegs.ADCSOC14CTL.bit.CHSEL =通道;//SOC 将在通道上转换
AdcaRegs.ADCSOC15CTL.bit.CHSEL =通道;//SOC 将在通道上转换
AdcaRegs.ADCSOC0CTL.bit.ACQPS = acqps;//采样窗口为 acqps +
//1个 SYSCLK 周期
AdcaRegs.ADCSOC1CTL.bit.ACQPS = acqps;//采样窗口为 acqps +
//1个 SYSCLK 周期
AdcaRegs.ADCSOC2CTL.bit.ACQPS = acqps;//采样窗口为 acqps +
//1个 SYSCLK 周期
AdcaRegs.ADCSOC3CTL.bit.ACQPS = acqps;//采样窗口为 acqps +
//1个 SYSCLK 周期
AdcaRegs.ADCSOC4CTL.bit.ACQPS = acqps;//采样窗口为 acqps +
//1个 SYSCLK 周期
AdcaRegs.ADCSOC5CTL.bit.ACQPS = acqps;//采样窗口为 acqps +
//1个 SYSCLK 周期
AdcaRegs.ADCSOC6CTL.bit.ACQPS = acqps;//采样窗口为 acqps +
//1个 SYSCLK 周期
AdcaRegs.ADCSOC7CTL.bit.ACQPS = acqps;//采样窗口为 acqps +
//1个 SYSCLK 周期
AdcaRegs.ADCSOC9CTL.bit.ACQPS = acqps;//采样窗口为 acqps +
//1个 SYSCLK 周期
AdcaRegs.ADCSOC10CTL.bit.ACQPS = acqps;//采样窗口为 acqps +
//1个 SYSCLK 周期
AdcaRegs.ADCSOC11CTL.bit.ACQPS = acqps;//采样窗口为 acqps +
//1个 SYSCLK 周期
AdcaRegs.ADCSOC12CTL.bit.ACQPS = acqps;//采样窗口为 acqps +
//1个 SYSCLK 周期
AdcaRegs.ADCSOC13CTL.bit.ACQPS = acqps;//采样窗口为 acqps +
//1个 SYSCLK 周期
AdcaRegs.ADCSOC14CTL.bit.ACQPS = acqps;//采样窗口为 acqps +
//1个 SYSCLK 周期
AdcaRegs.ADCSOC15CTL.bit.ACQPS = acqps;//采样窗口为 acqps +
//1个 SYSCLK 周期
AdcaRegs.ADCINTSEL1N2.bit.INT1E = 0;//禁用 INT1标志
AdcaRegs.ADCINTSEL1N2.bit.INT2E = 0;//禁用 INT2标志
AdcaRegs.ADCINTSEL3N4.bit.INT3E = 0;//禁用 INT3标志
AdcaRegs.ADCINTSEL3N4.bit.INT4E = 0;//禁用 INT4标志
AdcaRegs.ADCINTSEL1N2.bit.INT1CONT = 0;
AdcaRegs.ADCINTSEL1N2.bit.INT2CONT = 0;
AdcaRegs.ADCINTSEL3N4.bit.INT3CONT = 0;
AdcaRegs.ADCINTSEL3N4.bit.INT4CONT = 0;
AdcaRegs.ADCINTSEL1N2.bit.INT1SEL = 6;// SOC6的末尾将设置 INT1标志
AdcaRegs.ADCINTSEL1N2.bit.INT2SEL = 14;// SOC14结束将设置 INT2标志
AdcaRegs.ADCINTSEL3N4.bit.INT3SEL = 7;// SOC7结束将设置 INT3标志
AdcaRegs.ADCINTSEL3N4.bit.INT4SEL = 15;// SOC15结束将设置 INT4标志
//
//ADCINT2将触发前8个 SOC
//
AdcaRegs.ADCINTSOCSEL1.bit.SOC0 = 2;
AdcaRegs.ADCINTSOCSEL1.bit.SOC1 = 2;
AdcaRegs.ADCINTSOCSEL1.bit.SOC2 = 2;
AdcaRegs.ADCINTSOCSEL1.bit.SOC3 = 2;
AdcaRegs.ADCINTSOCSEL1.bit.SOC4 = 2;
AdcaRegs.ADCINTSOCSEL1.bit.SOC5 = 2;
AdcaRegs.ADCINTSOCSEL1.bit.SOC6 = 2;
AdcaRegs.ADCINTSOCSEL1.bit.SOC7 = 2;
//
//ADCINT1将触发第二个8个 SOC
//
AdcaRegs.ADCINTSOCSEL2.bit.SOC8 = 1;
AdcaRegs.ADCINTSOCSEL2.bit.SOC9 = 1;
AdcaRegs.ADCINTSOCSEL2.bit.SOC10 = 1;
AdcaRegs.ADCINTSOCSEL2.bit.SOC11 = 1;
AdcaRegs.ADCINTSOCSEL2.bit.SOC12 = 1;
AdcaRegs.ADCINTSOCSEL2.bit.SOC13 = 1;
AdcaRegs.ADCINTSOCSEL2.bit.SOC14 = 1;
AdcaRegs.ADCINTSOCSEL2.bit.SOC15 = 1;
EDIS;
}
您好、Sandeep、
该函数设置 SOC、采样 AD 保持时间和 通过中断进行 SOC 转换的序列。 您能否更具体地回答有关变量 i 传递的问题 我不理解。
此致、
Joseph
您好、Sandeep、
没有听到您关于此主题的反馈、因此我假设您已经解决了您的问题、从而关闭了此主题。 如果您对此主题仍有疑问、请将其发布在论坛中。
此致、
Joseph