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.

[参考译文] TMS570LS0714:TMS570LS12x 的 ADC 代码在 TMS570LS0714上不起作用

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/594665/tms570ls0714-adc-code-for-tms570ls12x-not-working-on-tms570ls0714

器件型号:TMS570LS0714
主题中讨论的其他器件: HALCOGEN

您好!

我们正在将已知工作代码从 Hercules Launchpad TMS570LS12x 移至基于 TMS570LS0714的定制电路板。  定制板上的 ADC 值全部读取为0x7FF (12位模式下为满量程的1/2)。  TRMS 中 ADC 上的段看起来是相同的。  我想知道我们是否错过了什么。  

谢谢!

斯蒂芬

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

    更新了:我为 LS1224PGE 和 LS0714PGE 生成了两个裸机 halcogen 项目。  我对这两个项目进行了完全相同的设置,生成了代码,并将测试代码添加到 main()中。  我 在   x0714上编译并启动了两个项目的调试会话。  我看到了许多转换完成事件。  但是、对于所有通道、两种情况下的所有转换都为0。  当我在 Launchpad 上运行任一项目时、我会在 所有通道上看到转换噪声(介于0x500-0xB00之间)。   我们 在这里抓着吸管。   如果有任何直觉、都将不胜感激!  

    谢谢!

    斯蒂芬

    Halcogen 修改:

    TMS570LSx > VIM 通道0-31 -启用 RTI 比较0、ADC1事件、ADC 组1 IRQ。  

    ADC1 > ADC1组事件>触发源-- RTI_COMP0,使能的引脚0-3。  

    ADC1 > ADC1组1 - 使能引脚4-7

    测试代码(在 sys_main.c 中):

    /*用户代码开始(2)*/
    adcData_t gAdcData[32];
    uint32 sAdcCheckTimeoutCount=0;
    uint32 sAdcCheckSuccessCount=0;
    uint32 sTotalConversion=0;

    int CheckConversion (adcBASE-t * adcBase、uint32 group、adcData_t * adcData){
       if (!adcIsConversionComplete (adcBase、group)){
           sAdcCheckTimeoutCount++;
           返回0;
       }

       sAdcCheckSuccessCount++;
       返回 adcGetData (adcBase、group、adcData);

    /*用户代码结束*/

    int main (空)

    /*用户代码开始(3)*/
       rtiInit();
       adcInit();
       vimInit();

       vimEnableInterrupt (2、SYS_IRQ);
       vimEnableInterrupt (14、SYS_IRQ);
       vimEnableInterrupt (15、SYS_IRQ);

       rtiEnableNotification (rtiNOTIFICATION_COMPARE0);
       rtiStartCounter (rtiCOUNTER_BLOCK0);

       _enable_interrupt_();

       adcStartConversion (adcREG1、adcGROUP0);
       adcStartConversion (adcREG1、adcGROUP1);

       while (1){
           sTotalConversions += CheckConversion (adcREG1、adcGROUP0、gAdcData);
           sTotalConversions += CheckConversion (adcREG1、adcGROUP1、gAdcData);
       }
    /*用户代码结束*/

       返回0;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    抱歉。 我们发现定制板有问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    斯蒂芬

    没有问题或道歉的理由。 这就是它被称为"产品开发"的原因。 我们通过发现来学习和进步、无论它们是否是有意的! 我很高兴您能找到您的问题。