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**** 2027820 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:

    供参考。

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

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    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;
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

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

    谢谢。此致、
    Masood Raza