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:MSP430FR2522触摸通道无响应

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/694604/msp430fr2522-msp430fr2522-touch-channel-is-no-response

器件型号:MSP430FR2522
主题中讨论的其他器件: CAPTIVATE-PGMRMSP430FR2532MSP430FR2512

尊敬的 TI 团队:    

        我使用 MSP430FR2522  四个触控通道 CAP0.0-CAP0.3、通过 CDC (v1.6)生成代码、为客户开发了一款滑块产品(100级/4个自电容)
我发现我无法进入回调函数,即使我直接通过手指触摸 CAP 引脚。  
        PS:
        首先、我认为 bsp_configureMCU (void)函数没有对 CAP0.0-CAP0.3 (PXSEL)进行多路复位 、并且发现效果相同。
         2.以下是我的寄存 器函数和回调函数:
        

空 Application_Init()

 MAP_CAPT_registerCallback (&SLD00、&SLD00EventHandler);    

空 SLD00EventHandler (TSENSOR *pSensor)                
{                                                       
                                                        
                                                        
   音量= 0x00;
   
  tSliderSensorParams * pSliderParams;   
  if (pSensor->bSensorTouch = true)            
  {
    pSliderParams =(tSliderSensorParams *)(pSensor->pSensorParams);   
    体积= pSliderParams->SliderPosition.ui16Natural;               
    UCA0TXBUF =音量;
  }

    以上项目非常紧迫,希望尽快得到答复,谢谢!!

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

    我有几个问题可以帮助解决此问题。

    1.您是否已验证您是否可以使用独立于回调函数的 CapTIvate 设计中心启动电路板以验证设计的电容式触控部分? 您是否能够使用 CAPTIVATE-PGMR 提供一个串行接口来与 CapTIvate 设计中心进行通信?

    2.在应用程序的上下文中调用 Application_Init()的位置是什么? 您能否布置较大的设置功能?

    此致、
    Walter
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Walter:
    我有疑问:
    FR2512是否可以设置为四通道滑块? 因为它需要4次扫描才能完成测量。

    以下是我的主要功能、我的功能非常简单、当滑动发生时、就是滑动
    值通过 UART 发出。
    调试时、我的程序不会卡在任何位置、它只能进入回调函数。

    void main (void)

    //
    //初始化 MCU
    // bsp_configureMCU()设置器件 IO 和计时
    //全局中断使能被设置为允许外设
    //唤醒 MCU。
    //
    WDTCTL = WDTPW | WDTHOLD;

    bsp_configureMCU();
    _bis_SR_register (GIE);
    application_Init();//
    //启动 CapTIvate 应用程序
    //
    CAPT_AppStart();
    UART_Init();
    //
    //后台循环
    //
    while (1)

    //
    //运行 captate 应用程序处理程序。
    //在应用处理程序运行时设置 LED1,
    //并在检测到接近时设置 LED2
    //在任何传感器上。
    //
    /*
    LED1_ON;
    if (CAPT_appHandler ()=true)
    LED2_ON;
    其他
    LED2_OFF;
    LED1_OFF;
    *
    //
    //这是一个很好的地方,可以添加任何内容
    //后台应用程序代码。
    //
    __no_operation();

    //
    //后台循环迭代结束
    //如果没有剩余的操作,则进入睡眠状态
    //
    //capt_appSleep ();

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

    您好!

    [引用 user4990691]FR2512是否可以设置为四通道滑块? 因为它需要4次扫描才能完成测量。[/quot]

    您可以将 MSP430FR2512用于滑块实现。  在具有4个扫描块的器件上可实现最佳滑块性能(以 MSP430FR2532为例)。  对于顺序扫描的滑块(以 MSP430FR2512或 MSP430FR2522为例)、线性度会有所降低、扫描时间会更长。  但是、如果您的分辨率要求是100个计数、那么只要您的镀层厚度合理(<2-3毫米)、您就应该可以正常工作。  我们在以下技术指南中比较了针对滑块和滚轮的顺序扫描与并行扫描:

    [引用 user4990691]]以下是我的主要函数,我的函数非常简单,当滑动发生时,即滑动
    值通过 UART 发出。
    调试时、我的程序不会卡在任何位置、它只能进入回调函数。

    您如何确定回调函数未运行?  这是基于 UART 不输出任何数据、还是在调试模式下运行时未在回调函数中达到断点?  无论是否存在触摸、每次采样都会调用回调函数、因此、如果后台循环正常执行、并且您未处于接近唤醒配置中、则应在每个扫描间隔调用该函数。

    您能否在 main()中验证您是否已在此处遇到断点:

    //
    //这是一个添加任何
    //后台应用程序代码的好地方。
    //
    __no_operation(); 

    这应达到每个扫描间隔。  如果正常、则验证是否在回调函数中达到或未达到断点。

    [引用 user4990691"]首先,我认为 bsp_configureMCU (void)函数没有对 CAP0.0-CAP0.3 (PXSEL)进行多路复用,并且我再次对它们进行复位, 发现了相同的效果。

    CapTIvate 多路复用不在 BSP 层中完成、而是在 CapTIvate 库中完成。  调用 CAPT_initUI()时,CapTIvate 库会将 CapTIvate 外设配置为控制这些 I/O,而不管引脚复用设置是什么。  无需在 BSP 层中设置 CAP0.0-CAP0.3多路复用。

    此致、
    Walter

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Walter:
    我发现了问题。 我忘记在 while ()中写入 CAPT_appHandler();
    我已经设置了断点,但它可以正常运行。
    谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没问题。 我将关闭此主题。 如有任何其他问题或疑虑、请随时再次发帖。

    Walter