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.

[参考译文] CCS/TMS320F28379D:有关 ADC_SoC_Continuous 的帮助

Guru**** 2200880 points
Other Parts Discussed in Thread: TMS320F28379D, TMS320F28377D, CONTROLSUITE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/613055/ccs-tms320f28379d-help-with-adc_soc_continuous

器件型号:TMS320F28379D
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。

有人以前是否遇到过此问题?

您的帮助将非常受人赞赏。

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您是否对代码或项目设置进行了任何更改? 我按原样运行了该示例、没有遇到任何问题。

    如果你在从 ADCRESULT0读取的行上放置一个断点、你可以到达它、还是停留在等待 ADCINTFlG.ADCINT3变为非零的 while 循环上?

    谢谢、

    惠特尼

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Witney、

    我还没有更改任何代码。

    我在" while (0 = AdcaRegs.ADCINTFlG.bit.ADCINT3)"获得库存;由于某种原因、它们不会生成标志。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否正在使用 Launchpad? 确保在项目设置中将_LAUNCHXL_F28379D 添加到您的预定义符号、以便正确配置 SYSCLK。

    您使用的是哪个版本的器件支持?

    惠特尼
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我尝试在 Project => Properties => Build => C2000 Compiler => Advanced Options => Predefined symbols 中添加"add _LAUNCHXL_F28379D"
    但我最终在构建项目时遇到以下失败:
    >>编译失败
    subdir_rules.mk:79:目标'adc_soc_continuous_cpu01.obj'的配方失败
    >>警告:指定了多个源文件;将仅为最后一个文件生成预处理器输出
    致命错误#1965:无法打开源文件"_LAUNCHXL_F28379D"
    1在编译"_LAUNCHXL_F28379D"时检测到灾难性错误。
    编译已终止。
    gmake:***[ADC_SoC_Continuous_cpu01.obj]错误1.
    gmake:目标"全部"不会由于错误而重新生成。

    此外、项目属性中还有"Generic c28xxDevice"=> General
    我以 ControlleSuite/device support/TMS320F2837xD ../../.中的示例为例。 V210/...CPU1
    目标配置为 TMS320F28377D、但我有一个 TMS320F28379D、但其他文件示例效果良好。 所以我不能确定问题在这里。

    如果我尝试更改 F28379D 的目标配置、我会遇到很多有关存储器的构建错误、如下所示:

    "C:/ti/controlSUITE/device_support/F2837xD/v210/F2837xD_common/cmd/2837xD_RAM_lnk_cpu1.cmd "、第7行:错误#10263:
      已指定起始存储器范围
    "C:/ti/controlSUITE/device_support/F2837xD/v210/F2837xD_common/cmd/2837xD_RAM_lnk_cpu1.cmd "、第7行:错误#10264:
      开始存储器范围与现有存储器范围开始重叠
    "C:/ti/controlSUITE/device_support/F2837xD/v210/F2837xD_common/cmd/2837xD_RAM_lnk_cpu1.cmd "、第8行:错误#10263:
      RAMM0内存范围已指定
    "C:/ti/controlSUITE/device_support/F2837xD/v210/F2837xD_common/cmd/2837xD_RAM_lnk_cpu1.cmd "、第8行:错误#10264:
      RAMM0存储器范围与现有存储器范围 RAMM0重叠
    "C:/ti/controlSUITE/device_support/F2837xD/v210/F2837xD_common/cmd/2837xD_RAM_lnk_cpu1.cmd "、第9行:错误#10263:
      RAMD0内存范围已指定
    "C:/ti/controlSUITE/device_support/F2837xD/v210/F2837xD_common/cmd/2837xD_RAM_lnk_cpu1.cmd "、第9行:错误#10264:
      RAMD0存储器范围与现有存储器范围 RAMD0重叠
    "C:/ti/controlSUITE/device_support/F2837xD/v210/F2837xD_common/cmd/2837xD_RAM_lnk_cpu1.cmd "、第10行:错误#10263:
      已指定 RAMLS0存储器范围
    "C:/ti/controlSUITE/device_support/F2837xD/v210/F2837xD_common/cmd/2837xD_RAM_lnk_cpu1.cmd "、第10行:错误#10264:
      RAMLS0存储器范围与现有存储器范围 RAMLS0重叠

    感谢您的帮助、