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.

[参考译文] MSP430FR2633:无法在软件中检测到电容式触控

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1350977/msp430fr2633-unable-to-detect-capacitive-touch-in-the-software

器件型号:MSP430FR2633

这是针对键盘特性的软件库文档中所提到的"直接或间接访问元件状态数据"时所面临的问题。 为了保证精确度、即使我们触摸 BSWP 上的键盘 、如果条件(keypadSensor_E00.bTouch == true) 不满足。 此外、当我们尝试

如果 出现(keypad.pCycle [0]->pElements[0]->bTouch == true)条件,则 CCS 显示不兼容的键盘声明。
请参阅所附的未完成工程的 main.c 文件。
我们想了解我们的行为是什么错的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Veer Karan Goy:

    我没有看到附件。

    从您上面的注释可以看出、您将传感器称为"keypadSensor"、然后称为"keypadSensor"。  确保名称一致。  不确定是不是问题所在、只是观察而已。

    您的目标转换计数和转换增益设置是多少?

    您的触摸阈值设置是多少?

    当您在运行 GUI 时触摸传感器时、是否在条形图视图的条形下方看到 GUI 中的绿色 LED?

    当您触摸按钮时、是否看到蓝条在绿线下方?  触摸与非触摸之间的增量测量值是多少。

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

    您好、Dennis、

    根据您的建议、我们观察到、 触摸时蓝色条会低于 GUI 中的绿色条。 在转换计数和增益值为500和100时、可以看到增量值134 (触摸)和0-2 (不触摸)。 我还附上了供您参考的代码。 在本例中、仅打开 LED1。  

    #include <msp430.h>                      // Generic MSP430 Device Include
    #include "driverlib.h"                   // MSPWare Driver Library
    #include "captivate.h"                   // CapTIvate Touch Software Library
    #include "CAPT_App.h"                    // CapTIvate Application Code
    #include "CAPT_BSP.h"                    // CapTIvate EVM Board Support Package
    tElement keypad_E00;
    void main(void)
    {
    //
    // Initialize the MCU
    // BSP_configureMCU() sets up the device IO and clocking
    // The global interrupt enable is set to allow peripherals
    // to wake the MCU.
    //
    WDTCTL = WDTPW | WDTHOLD;
    BSP_configureMCU();
    __bis_SR_register(GIE);
    
    //
    // Start the CapTIvate application
    //
    CAPT_appStart();
    
    //
    // Background Loop
    //
    while(1)
    {
    //
    // Run the captivate application handler.
    // Set LED1 while the app handler is running,
    // and set LED2 if proximity is detected
    // on any sensor.
    //
    // LED1_ON;
    if(CAPT_appHandler()==true){
       if(keypad_E00.bTouch == true)
    
         {
             LED2_ON; // ILLUMINATE LED
             LED1_OFF;
         }
          else
          {
              LED2_OFF; // TURN LED OFF
             LED1_ON;
            }
    
    
    //
    // This is a great place to add in any
    // background application code.
    //
    __no_operation();
    }
    //
    // End of background loop iteration
    // Go to sleep if there is nothing left to do
    //
    CAPT_appSleep();
    
    } // End background loop
    } // End main()

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

    您好,Veer Karan Goyal

    在第6行、您需要在 tElement keypad_e00之前具有 extern;

    示例

    extern Element keypad_e00;

    使用这种方法创建一个名为"keepad_e00"的新元素、该元素对于 main 是本地的。  当逻辑检查 keyboard_e00.bTouch 时、它始终为 false、因为编译代码时编译器集默认为 false。

    添加 extern 可告知编译器 keepad_e00是项目中的其他位置、并可在 CAPT_UserConfig.c 中找到。

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

    您好,Dennis

    我们已在 CAPT_UserConfig.h 文件中使用 extern 定义了"keepad_E00"、根据您的建议、我们在 CAPT_UserCofig.c 文件中定义了它。 此外、我们再次检查了 CAPT_WAKEONPROX_ENABLE (FALSE)。 但我们无法在软件中检测到电容式触控。 为了便于参考、我们还附上了之前我们是如何定义它的图片。

     

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

    这真的很奇怪。  我使用了您的代码、它在我的 BSWP EVM 上运行。  如果您在 if (keepad_e00.bTouch = true{}中的某个位置设置断点、代码会到达那里吗?  或者、在调试模式下、复位代码、在  if (keepad_E00.bTouch = true) 上设置断点、然后将手指放在 keepade_E00上并运行代码。  程序停止鼠标悬停在表达式 keepad_e00上或添加到 Expressions 窗口、然后查看其为 true 或 false。

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

    我们尝试了您的建议、观察到"keepad_e00.bTouch"的输出为假。 我特此为整个工程提供链接、如果您可以在 BSWP EVM 上运行该工程并检查 它是否正常工作。 使用的 CCS 版本为12.6.0、GUI 版本为1.83.00.08。

    drive.google.com/.../1W_JahFk0lFTUS170TGfr-tkwHcshP9-a