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.

[参考译文] TMS320F28P550SJ:drilverlib 中的 adc_enableSampleCAPReset ()看起来不正确吗?

Guru**** 2480195 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1461629/tms320f28p550sj-adc_enablesamplecapreset-in-the-drilverlib-does-not-seem-correct

器件型号:TMS320F28P550SJ
Thread 中讨论的其他器件:C2000WARE

工具与软件:

hi champs、

我是为我们的客户提出这个问题。

使用 C2000ware V5.04中的 driverlib API 找到的用户、如下所示

 ADC_enableSampleCAPReset (ADCB_BASE、ADC_SOC_Number1);

但由于上16位器件(TRIGSEL 等)意外修改为0、因此结果不正确。

如果用户使用如下所示的位字段格式、则有效。

AdcbRegs.ADCSOC1CTL.bit.SAMPCAPRESETDISABLE = 0;

您是否可以帮助了解  ADC_enableSampleCAPReset ()和 ADC_disableSampleCAPReset ()?

例如、在 uint32_t 中将其定义为0x200U 而不是0x00000200是否合理?

#define ADC_SOC0CTL_SAMPCAPRESETDISABLE  0x200U     // SOC0采样电容复位选择

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

    韦恩、您好!

    [报价 userid="4952" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1461629/tms320f28p550sj-adc_enablesamplecapreset-in-the-drilverlib-does-not-seem-correct ]C2000ware V5.04

    我来 核对一下 SDK 版本、以便随时与您联系。

    BR、

    Nilesh

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

    尊敬的 Nilesh:

    供参考。

    我尝试按如下方式修改代码、它能够正常工作。

    ADC_enableSampleCAPReset(uint32_t base, ADC_SOCNumber socNumber)
    {
        uint32_t ctlRegAddr;
    
        //
        // Check the arguments.
        //
        ASSERT(ADC_isBaseValid(base));
    
        //
        // Calculate address for the SOC control register.
        //
        ctlRegAddr = base + ADC_SOCxCTL_OFFSET_BASE + ((uint32_t)socNumber * 2U);
    
        //
        // Enable the sample capacitor reset after each conversion.
        //
        EALLOW;
        HWREG(ctlRegAddr) &= ~((uint32_t)ADC_SOC0CTL_SAMPCAPRESETDISABLE);
        EDIS;
    }

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

    你好、Wayne。 是的、这是有效的问题。 将在下一版本的 C2000ware 中修复此问题。

    谢谢。此致、
    Masood Raza