工具/软件:
您好:
CapTIvate 技术指南介绍了一种在触摸时点亮 LED 的方法。
我们有一位客户请求使用触摸板实现此功能。
是否有成功实现这一目标的示例或案例?
software-dl.ti.com/.../ch_design_guide.html
software-dl.ti.com/.../ch_design_guide.html
此致、
DDdoor
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.
工具/软件:
您好:
CapTIvate 技术指南介绍了一种在触摸时点亮 LED 的方法。
我们有一位客户请求使用触摸板实现此功能。
是否有成功实现这一目标的示例或案例?
software-dl.ti.com/.../ch_design_guide.html
software-dl.ti.com/.../ch_design_guide.html
此致、
DDdoor
您好 DDdoor
好的、如果我理解这个问题、当触摸板“触摸“时点亮 LED 的软件与任何其他类型的传感器相同、例如按钮。
如果是这种情况、我已经上传您在 CapTIvate 技术指南中看到的远程设备的示例代码(您在上面提供的第二个链接)。
此代码位于“trackpad_remote_demo.c 文件(位于附加的.zip 文件中)“中。 为了方便,我也发布了下面的代码. 具体从第 82 行开始。
/*
* Trackpad_demo.c
*
* This file contains the sensor callbacks, UART and slave I2C communications handler
* to support communications with host.
* Note: See the modification to CAPT_commConfig.h on line #84 to enable both I2C and UART
*
* Created on: Feb 9, 2017
* Author: a0272918
*/
#include "captivate.h"
#include "I2CSlave.h"
#include "UART.h"
#include "CAPT_BSP.h"
#include <stdio.h>
//======================== DEFINES ========================================
#define FIRST_TOUCH (pSensor->bSensorTouch == true) && (pSensor->bSensorPrevTouch == false)
#define EXIT_TOUCH (pSensor->bSensorTouch == false) && (pSensor->bSensorPrevTouch == true)
#define MUTE (pSensor->pCycle[0]->pElements[0]->bTouch)
#define ACTION (pSensor->pCycle[0]->pElements[1]->bTouch)
//======================== VARIABLES =======================================
bool bGripFlag = false;
//=========================== CALLBACKS =======================================
/*
* GRIP CALLBACK
* AUTOMATICALLY CALLED AFTER SENSOR IS PROCESSED
* ADD APPLICATION SPECIFIC CODE HERE
*/
void GripCallback(tSensor* pSensor)
{
if(FIRST_TOUCH)
{
LED1_ON;
bGripFlag = true;
}
else if(EXIT_TOUCH)
{
LED1_OFF;
bGripFlag = false;
}
}
/*
* BUTTON CALLBACK
* AUTOMATICALLY CALLED AFTER SENSOR IS PROCESSED
* ADD APPLICATION SPECIFIC CODE HERE
*/
void ButtonCallback(tSensor* pSensor)
{
if(pSensor->bSensorTouch == true)
{
if(pSensor->pCycle[0]->pElements[0]->bTouch == true)
LED3_ON;
else
LED3_OFF;
if(pSensor->pCycle[0]->pElements[1]->bTouch == true)
LED4_ON;
else
LED4_OFF;
}
else if((pSensor->bSensorPrevTouch == true) && (pSensor->bSensorTouch == false))
{
LED3_OFF;
LED4_OFF;
}
}
/*
* TRACKPAD CALLBACK
* AUTOMATICALLY CALLED AFTER SENSOR IS PROCESSED
* ADD APPLICATION SPECIFIC CODE HERE
*/
void TrackpadCallback(tSensor* pSensor)
{
if(pSensor->bSensorTouch == true)
LED2_ON;
else
LED2_OFF;
}
void TrackPad_Demo_Init(void)
{
//
// REGISTER THE BUTTON, GRIP AND TRACKPAD CALLBACKS HERE
// REGISTERING THESE CALLBACKS ALLOWS THE USER FUNCTIONS
// TO BE CALLED EACH TIME AFTER A SENSOR IS MEASURED REGARDLESSS
// IF THE SENSOR IS TOUCHED OR NOT
MAP_CAPT_registerCallback(&GRIP, &GripCallback);
MAP_CAPT_registerCallback(&BUTTONS, &ButtonCallback);
MAP_CAPT_registerCallback(&TKP00, &TrackpadCallback);
}
e2e.ti.com/.../TOUCHPAD_2D00_5X5_2D00_FR2633_2D00_REMOTE_2D00_DEMO.zip
希望这有所帮助。