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.

[参考译文] MSP430FR2522:如何在启动时进行校准

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1088056/msp430fr2522-how-to-turn-of-calibration-at-start-up

部件号:MSP430FR2522

您好,我正在通过读取filterCount将FR2522用作电容式传感器。 传感器有时会在露天启动,有时会在有物体的情况下启动。 我想在空气中启动时保留校准,以便不获取负 filterCount值。 如何打开启动校准或获取启动校准值并对其进行硬编码? 如何在CCS中执行此操作? 我已经构建了一个项目,如果在迷人的GUI中进行更改,可能需要更长的时间。

谢谢

Rick

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

    这就是Prox传感器的设置方式,当在有材料的情况下启动时,我会遇到启动校准问题;

    tSensor PRX00 =
    {
        // Basic Properties
        .TypeOfSensor = eProx,
        .SensingMethod = eSelf,
        .DirectionOfInterest = eDOIDown,
        .pvCallback = NULL,
        .ui8NrOfCycles = 1,
        .pCycle = PRX00_Cycles,
        .pSensorParams = (tGenericSensorParams*)&PRX00_Params,
        // Conversion Control Parameters
        .ui16ConversionCount = 1000,
        .ui16ConversionGain = 80,
        .ui8FreqDiv = 1,
        .ui8ChargeLength = 1,
        .ui8TransferLength = 1,
        .bModEnable = true,
        .ui8BiasControl = 3,
        .bCsDischarge = true,
        .bLpmControl = false,
        .ui8InputSyncControl = 0,
        .bTimerSyncControl = false,
        .bIdleState = true,
        // Tuning  Parameters
        .ui16ProxThreshold = 60,
        .ui16NegativeTouchThreshold = 30,
        .ui16ErrorThreshold = 8191,
        .ui16TimeoutThreshold = 65535,
        .ProxDbThreshold.DbIn = 1,
        .ProxDbThreshold.DbOut = 0,
        .TouchDbThreshold.DbIn = 1,
        .TouchDbThreshold.DbOut = 0,
        .bCountFilterEnable = true,
        .ui8CntBeta = 1,
        .bSensorHalt = false,
        .bPTSensorHalt = true,
        .bPTElementHalt = true,
        .ui8LTABeta = 7,
        .bReCalibrateEnable = false,
    };

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

    还可根据启动校准调整运行期间的rawCount

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

    e2e.ti.com/.../FR2633_5F00_selfmode.zip

    您可以参考此代码。 代码首次运行时,它将记录校准。

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

    谢谢Eason。 我调试代码时遇到问题,但它仍然有用。 我在正常启动校准后运行了一次;

        extern tCaptivateElementTuning CapSensorTuning[4] =
    {
        { 251, 2, 11 },
        { 246, 2, 11 },
        { 218,  2, 12 },
        { 214, 2, 12 }
    };
        
        int i=0;
        for (i=0;i<4;i++){
            g_uiApp.pSensorList[0]->pCycle[0]->pElements[0]->pTuning[i]=CapSensorTuning[i];
        }