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.

[参考译文] MSP430FR6043:USS ADC 原始数据

Guru**** 2489685 points
Other Parts Discussed in Thread: MSP430FR6043

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1557280/msp430fr6043-uss-adc-raw-data

器件型号:MSP430FR6043


工具/软件:

您好:

MCU:MSP430FR6043

我想读取 USS ADC 原始数据以确定输出信号的最小值和最大值。 我pCapturesBuffermaxCapture从下面的结构中检索了数据(和)。

__persistent USS_Capture_Configuration ussCaptureConfig = {
    .overSampleRate = USS_OVER_SAMPLE_RATE,
    .sampleSize = USS_USER_CONFIG_NUMBER_OF_SAMPLES_PER_CAPTURE,
    .gainRange = USS_GAIN_RANGE,
    .enableWindowHiComp = USS_ENABLE_WINDOW_HI_COMP,
    .enableWindowLoComp = USS_ENABLE_WINDOW_LO_COMP,
    .windowHighThreshold = USS_WINDOW_HIGH_THRESHOLD,
    .windowLowThreshold = USS_WINDOW_LOW_THRESHOLD,
    .agcConstant = USS_AGC_CONSTANT,
    .pCapturesBuffer = &gUSSLEATempMemBlock[0],
    .maxCapture = (sizeof(gUSSLEATempMemBlock) / sizeof(int16_t)),
    .isCapAccumulationEnabled = USS_SW_LIB_ENABLE_ACCUMULATION,
#if USS_SW_LIB_APP_MAX_ACC_BLOCK
    .pAccCaptureBuffer = &gUSSLEARAMReservedAccMemBlock[0],
#endif
};

在代码(见下文)中、我创建了一个新指针来引用pCapturesBuffer地址、并使用它来计算最小值和最大值。

    waterQualitydata.dataLength=gUssSWConfig.captureConfig->maxCapture;
    waterQualitydata.TemppCapturesBuffer=ussCaptureConfig.pCapturesBuffer;
    waterQualitydata.adcMin=*waterQualitydata.TemppCapturesBuffer;
    waterQualitydata.adcMax=*waterQualitydata.TemppCapturesBuffer;
    for(i=0;i<waterQualitydata.dataLength;i++)
    {
        if(waterQualitydata.adcMax<*waterQualitydata.TemppCapturesBuffer)
        {
            waterQualitydata.adcMax=*waterQualitydata.TemppCapturesBuffer;
        }

        if(waterQualitydata.adcMin>*waterQualitydata.TemppCapturesBuffer)
        {
            waterQualitydata.adcMin=*waterQualitydata.TemppCapturesBuffer;
        }
        waterQualitydata.TemppCapturesBuffer++;
    }

实施后、 仅由于上述代码更改、FRAM 消耗增加了 6.4KB。

请帮助我分析一下。

此致、

SaKhan

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

    您好、

    pCapturesBuffer 不是 ADC 原始数据地址。 您可以调用 USS_getUPSPtr () 来获取原始 ADC 数据。  

    此致、

    现金好

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

    嗨、Cash Hao11、

    如何绘制原始 ADC 数据? 之前、我使用pCapturesBuffer绘制 1024 元素数组。 pCapturesBuffer包含哪些数据?

    此致、

    SaKhan

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

    这是燃气表 或水表应用? 如果是水表应用、则 pCapturesBuffer 应使用 存储一些中间变量。  

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

    这适用于水表应用

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

    pCapturesBuffer 准确存储哪些中间数据。

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

    不确定 pCapturesBuffer 中确切存储的内容。 但是、如果您需要 ADC 原始数据、请使用 USS_getUPSPtr 来获取捕获数据的地址、而不是使用 pCaptionBuffer。