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.

[参考译文] MSP430FR2673:软件 MSP430中的触摸校准

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1448650/msp430fr2673-touch-calibration-in-software-msp430

器件型号:MSP430FR2673

工具与软件:

您好!

我使用基于 MSP430FR2673的触摸开关。 如果开关触摸超过20秒、我想在软件中停止触摸校准 如果可能、请重放。

谢谢你

Athulya

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

    是的、可以。 你可以调用这个函数来实现它:  CAPT_calibrateSensor ();

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

    您能提供任何示例代码示例吗?

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

    没有针对它的演示、这应该易于实施、您可以启用一个计时器来开始计算触摸事件发生的时间、并在超过20秒时进行校准

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

    通过此函数传递的任何参数。

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

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

    void CAPT_calibrateSensor (TSENSOR *pSensor);

    什么是 *pSensor?

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

    哦、抱歉没找到它。 它是位于 CAPT_UserConfig.c 文件中的传感器参数结构、如下所示

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

    您好!

    触摸校准功能  void CAPT_calibrateSensor (TSENSOR * pSensor)后、是否启用触摸  

    空 Touch_Read (空)

    /********* TOUCH1***** /
    if (CAPT_appHandler ()=true)

    if (g_pCapTIvateSensorArray[2]->bSensorTouch == true)

    静态 uint32_t timer_start = 0;
    静态 uint8_t Long_Press_Flag = 0;
    if (Touch_Read_Flag [0]== 0)

    Switch_Operation (SWITCH_1、SW_ON);
    // PMMCTL0 = PMMPW | PMMSWBOR;//软件 BOR 复位
    TIMER_START = TIMER_COUNT;
    Long_Press_Flag = 0;

    }
    否则为(Touch_Read_Flag [0]== 2)

    Switch_Operation (SWITCH_1、SW_OFF);
    TIMER_START = TIMER_COUNT;
    Long_Press_Flag = 0;

    }
    if ((g_pCapTIvateSensorArray[2]->bSensorTouch == true))

    if (((Touch_Read_Flag [0]== 1)||(Touch_Read_Flag [0]== 3)))

    if (Long_Press_Flag => 0)

    uint32_t Now = TIMER_COUNT;
    if (now - timer_start >= 500)//5000

    Long_Press_Flag = 1;
    CAPT_calibrateSensor (g_pCapTIvateSensorArray[2]);

    }
    }
    }
    }
    }
    __delay_cycles (1600);
    }
    设计

    if (Touch_Read_Flag [0]== 1)

    Touch_Read_Flag [0]= 2;
    }
    否则、if (Touch_Read_Flag [0]== 3)

    Touch_Read_Flag [0]= 0;
    }

    }

    当长按时、在完成校准后我要触摸此开关后、触摸将被校准。

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

    校准后、触摸功能仍将启用。