工具与软件:
大家好、团队成员:
使用 TMS320F28034、
对一个模拟信号进行多次采样、使用软件触发 SOC0、EOC0完成后将存在一个 ADCINT1中断标志。 整个中断已被屏蔽、不会进入 ADC 以完成中断。 测试5个连续样本的时间不一致、有时为3us、有时为6us、差异过大。
造成此问题的原因是什么? 代码如下。
AdcRegs.INTSEL1N2.all = 0x0020; S0C0转换完成产生中断ADCINT1 μ s
AdcRegs.ADCSOC0CTL.ALL = 0x0248; 采样 μ s
IER = M_INT2 ; // 禁用 中断:
while (gShortGnd. ShortCnt1 <=4)
{
// 在 SOC0上强制开始转换
AdcRegs.ADCSOCFRC1.all = 0x01;
// 等待 转换结束。
while (AdcRegs.ADCINTFLG.bit.ADCINT1 = 0)
{
// 添加 代码
// KickDog ();
}
AdcRegs.ADCINTFLGCLR.bit.ADCINT1 = 1; // Clear ADCINT1
TEMP = AdcResult。 ADCRESULT0-2047 ;//IU
gShortGnd。 ShortCurU = Filter8 (temp、 gShortGnd. ShortCurU);
gShortGnd。 ShortCnt1+;
};
IER |= (M_INT1 | M_INT2 | M_INT3 | M_INT5 | M_INT9 ); // 启用 中断: