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触摸设计调用函数

Other Parts Discussed in Thread: BOOSTXL-CAPKEYPAD, MSP430FR2522

TI 工程师好  :

          我在boostxl-capkeypad demo中关于 MAP_CAPT_setChannelActive(1, 3);  MAP_CAPT_setChannelActive(0, 0);之类的原函数看不到,怎么才能可以看到这些原函数?这对我们学习触摸产品设计意义很大。

  • 您可以在rom_captivate_msp430fr2522_family.h 内查看,如下 (您也可以使用CCS的search功能查找)

    // ROM Function Definition: CAPT_setChannelActive
    #define ROM_CAPT_setChannelActive                                             \
            ((void (*)(uint8_t ui8Block,                                          \
                       uint8_t ui8Pin))ROM_CAPTIVATE_JUMPTABLE[79])

  • Susan Yang,您好。谢谢你的回复,我在单步运行boostxl-capkeypad demo时,进入中断后会一直重复进入CAPT_ISR中的case CAPT_IV_TIMER:中断程序。

    请问需要怎样设置才会跳出这个中断?盼回复,谢谢!

  • dirtwillfly,谢谢你的回复,我看过CapTIvate™ Software Library的资料说明,那里对BASE模块中的测量和处理传感器函数,只有目标代码,没有源代码。有测量以及处理传感器的原函数的代码就能很快充分理解电容触摸的工作原理和方式,对用TI的MSP430FR2522开发触摸面板有很大的帮助。
  • 那您可以尝试在进入这个中断后,触摸按键

    //! \var g_bConvTimerFlag
    //! This bool is set by the CapTIvate&tm; timer when it is time to update (refresh)
    //! the user interface.

    BOOSTXL-CAPKEYPAD demo软件以三种状态之一运行:

    1 活动模式
    CapTIvate定期以14ms(~70 Hz)的速率扫描所有12个按键和接近/保护传感器
    背光LED处于活动状态
    如果启用了UART,则通过UART端口发送传感器和元素数据包
    当新样本可用时,IRQ线被拉低以向主机LaunchPad指示数据可用


    2 唤醒接近模式
    CapTIvate使用HW中的wake-on-prox状态机定期扫描代理/保护传感器,CPU以100ms(10 Hz)的速率关闭
    背光LED熄灭
    如果启用了UART,则可能会收到数据包但不会发送数据包
    IRQ引脚保持高电平,不会向主机LaunchPad发出信号


    3 关机模式
    CapTIvate已关闭,未更新任何传感器
    背光LED熄灭
    IRQ引脚保持高电平,不会向主机LaunchPad发出信号
    所有MCU时钟都关闭,MCU在LPM4中等待主处理器通过I2C唤醒请求

    具体您可以看一下下面的链接,介绍的非常详细

    software-dl.ti.com/.../ch_evm_boostxl_capkeypad.html
  • 关于这个timer的相关设置,您可以看一下

    	//
    	// Setup Captivate timer
        // This timer sets the g_bConvTimerFlag in the Captivate
        // library at the interval specified by CAPT_SCAN_INTERVAL.
        // This is used to trigger the app handler to update
        // the capacitive user interface.
    	//
        MAP_CAPT_stopTimer();
        MAP_CAPT_clearTimer();
        MAP_CAPT_selectTimerSource(CAPT_TIMER_SRC_ACLK);
        MAP_CAPT_selectTimerSourceDivider(CAPT_TIMER_CLKDIV__1);
        MAP_CAPT_writeTimerCompRegister(CAPT_MS_TO_CYCLES(g_uiApp.ui16ActiveModeScanPeriod));
    	MAP_CAPT_startTimer();
    	MAP_CAPT_enableISR(CAPT_TIMER_INTERRUPT);