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.

[参考译文] CCS/MSP430FR2532:CapTIvate 设计中心:访问每个按钮元素时出现问题

Guru**** 2576215 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/605234/ccs-msp430fr2532-captivate-design-center-problem-in-accessing-each-button-element

器件型号:MSP430FR2532

工具/软件:Code Composer Studio

大家好、

我正在使用 CapTIvate 库和 CapTIvate 设计中心构建定制的4按钮 CapSense 器件。 我已成功为 PCB 生成示例 CAPTIVATE_BSW 代码、这些代码工作正常。 这些代码打开任何传感器元件 触摸上的 LED。

我想单独检测每个元件上的触摸。 我已经阅读了 CapTIvate 用户指南、其中提供了如下 API、但它们对我来说不起作用。

我可以做什么来单独检测每个按钮传感器元件

//访问元素状态数据直接

位于外部的 tElement keypad_E00;
void updateLED (void)
{
if (keypad_E00.bTouch = true)
{
//点亮 LED
}
其他
{
//关闭 LED
}
}

//访问元素状态数据间接
无效 updateLED (void)
{
if (keypad.pCycle [0]->pElements[0]->bTouch =true)
{
//点亮 LED
}
其他
{
//关闭 LED
}
} 

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

    您是否在代码中注册了回调函数? 如果没有、请参阅 CapTIvate 用户指南、如下所示:

    空 USER_registerCallback (空)

    map_CAPT_registerCallback (&keypad、&user_callbackButtons);
    }//end of user_registerCallback (void)

    空 USER_callbackButtons (TSENSOR* pSensor)

    if (pSensor->bSensorTouch = true)

    updateLED();




    void main (void)


    .
    //
    //注册应用程序的回调函数
    //
    USER_registerCallback();

    //
    //启动 CapTIvate 应用程序
    //
    CAPT_AppStart();

    .


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

    我还尝试了您所说的方法、使用下面的 CapTIvate 用户指南、但它似乎仍然不起作用。

     

    谢谢你

     

    /Callback 例程
    void my_2button_callback (TSENSOR* pSensor)
    {
    if ((pSensor->bSensorTouch)=true)
    LED2_ON;
    
    其他
    LED2_OFF;
    }
    
    void USER_registerCallback (void)
    {
    map_CAPT_registerCallback (&BTN00、&my_2button_callback);
    //end of USER_configerCallback (void)
    
    void main (void)
    {
    //
    //初始化 MCU
    // bsp_registerCallerCallback MCU ()设置器件 IO 并
    启用全局/外设计时以启用/启用中断。
    
    //
    WDTCTL = WDTPW | WDTHOLD;
    bsp_configureMCU ();
    __bis_SR_register (GIE);
    
    //
    注册应用程序的回调函数
    //
    user_capterCallback ();
    
    //
    //启动 CapTIvate 应用
    程序//
    CAPT_AppStart ();
    
    //
    //后台循环
    /
    
    运行
    
    处理程序1 //运行处理程序。
    //在应用程序处理程序运行时设置 LED1,
    //如果在
    任何传感器上检测到接近,则设置 LED2。
    //
    /*LED1_ON;
    if (CAPT_appHandler (=true)
    LED2_ON;
    else
    LED2_OFF;
    LED1_OFF;
    *//
    
    
    ////这是一个添加到任何
    //后台应用程序代码的好地方。
    //
    my_2button_callback (&BTN00);
    
    
    
    __no_operation ();
    
    //
    后台循环迭代结束
    //如果没有剩余操作,则进入睡眠
    //
    CAPT_appSleep ();
    
    }//结束后台循环
    }//结束 main () 

     

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

    从代码中,必须使用 CAPT_appHandler()来处理触摸信号,my_2button_callback ()是一个回调函数,不需要在 while (1)中调用它。

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

    Kc、

    我可以单独访问每个元素。 感谢您的准确指导。