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.

[参考译文] MSP430FR2672:在运行时更改 CapTIvate 调优参数

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1277026/msp430fr2672-changing-captivate-tuning-parameters-at-runtime

器件型号:MSP430FR2672

因此、我将手动尝试管理调优配置、并设置用于定义要使用的调优的持久性变量。  该变量可以由另一个处理器设置、并在下电上电后保留。  在主代码中、我查看一个变量来查看应该使用哪一个调整、然后调用一个函数来改变不同的参数。

空 AdjustForTuning (uint8_t Tuning_MODE)
{
开关(调优_MODE)
{
default:// default = model = C;系统调优。  
案例 C_Plastics:
SLD00_E00.ui8TouchThreshold = 5;
SLD00_E01.ui8TouchThreshold = 5;
SLD00_E02.ui8TouchThreshold = 5;
SLD00_E03.ui8TouchThreshold = 5;
SLD00_Params.SliderBeta = 200;
SLD00.ui16ConversionCount = 850;
SLD00.ui8FreqDiv = 4;
SLD00.ui16ProxThreshold = 50;
SLD00.ui16NegativeTouchThreshold = 100;
G_uiApp.ui16WakeOnProxModeScanPeriod = 100;
中断;

案例 C_OPEN_AIR:
SLD00_E00.ui8TouchThreshold = 9;
SLD00_E01.ui8TouchThreshold = 10;
SLD00_E02.ui8TouchThreshold = 10;
SLD00_E03.ui8TouchThreshold = 10;
SLD00_Params.SliderBeta = 100;
SLD00.ui16ConversionCount = 650;
SLD00.ui8FreqDiv = 3;
SLD00.ui16ProxThreshold = 14;
SLD00.ui16NegativeTouchThreshold = 30;
G_uiApp.ui16WakeOnProxModeScanPeriod = 103;
中断;

返回;

使用调试器、我看到变量会发生变化并保持在请求的值、但调优似乎始终使用在"CAPT_UserConfig.c"中生成的值

如何 让 CapTIvate 使用已更改的参数?  在我实际调用函数以更改参数之前、我假设这些参数正在被复制到某个库函数中。

乔恩

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

    您好、Jon。

    在每次测量之前、从 CAPT_userConfig.c 中的传感器结构读取下一个周期配置(可以包括1到4个通道)、然后这些值将加载到 CapTIvate 外设中。 因此、只要您修改这些传感器结构、您的更改就应该会替换前面的设置并用于后续测量。  这就是 CapTIvate 设计中心 GUI 能够实时修改调整参数的方式。 发送新值应替换结构中之前的值、以及在需要测量或校准时、将使用这些新设置。

    因此、对于 C_Plastic 情况、您要说如果您实时从.ui16ConversionCount = 200更改为100、 那么当您停止并检查这些您看到的结构时、.ui16ConversionCount 仍为100、对吗?

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

    是的、我看到该值发生了变化、但它对调整没有影响。

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

    让我们尝试一下...首先、设置合理的参数以开始。  务必将转换增益设置为100。 将转换计数设置为250。

    启动应用程序并让其执行正常校准。 不确定您是如何读取实时数据的、但您应该为测量的转换计数、LTA 等读取~250、而且如果您将手指放在电极上、计数应该会更低。

    然后让应用程序将.ui16ConversionCount 更改为300。  让应用强制重新校准。  报告的测量转换计数现在是否为~300?

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

    您好、Jon。

    您是否有关于进度的更新信息?