Thread 中讨论的其他器件: TMS320F28377D、controlSUITE
工具/软件:Code Composer Studio
您好!
我在使 ADC_SoC_Continuous 示例在 TMS320F28379D 上工作时遇到问题。
它可以很好地构建和编译。
但是、似乎无法将测量值保存在存储器中。
当我在3.3V 引脚上插入 A0引脚(引脚9)时、我可以观察到 AdcaResultRegs.ADCRESULT0寄存器一直到 T7、该值变为4095、但 AdcaResults 表保持为0、而它应该将寄存器上的值复制到这段代码中:
" AdcaResults[resultsIndex++]= AdcaResultRegs.ADCRESULT0;
AdcaResults[resultsIndex++]= AdcaResultRegs.ADCRESULT1;
AdcaResults[resultsIndex++]= AdcaResultRegs.ADCRESULT2;
AdcaResults[resultsIndex++]= AdcaResultRegs.ADCRESULT3;
AdcaResults[resultsIndex++]= AdcaResultRegs.ADCRESULT4;
AdcaResults[resultsIndex++]= AdcaResultRegs.ADCRESULT5;
AdcaResults[resultsIndex++]= AdcaResultRegs.ADCRESULT6;
AdcaResults[resultsIndex++]= AdcaResultRegs.ADCRESULT7;"
因此表中没有副本、"resultsIndex"保持为0。
当查看代码中我之前的部分时:
" //
//软件强制启动 SOC0到 SOC7
//
AdcaRegs.ADCSOCFRC1.ALL = 0x00FF;
//
//继续采样,直到结果缓冲区已满
//
while (resultsIndex < results_buffer_size)
{
//
//等待第一组8个转换完成
//
while (0 = AdcaRegs.ADCINTFlG.bit.ADCINT3);
//
//清除前8个转换生成的两个 INT 标志
//
AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;
AdcaRegs.ADCINTFLGCLR.bit.ADCINT3 = 1;"
我认为我的问题就在这里:当查看标志 AdcaRegs.ADCINTFLG.bit.ADCINT3和 AdcaRegs.ADCINTFLLR.bit.ADCINT1时、它们总是为0。
有人以前是否遇到过此问题?
您的帮助将非常受人赞赏。
谢谢