编辑: XR30273052 | 2019-07-11 |
0 开始 计数才触发捕获. 2.没有触摸时,CCR1 捕获的值是否稳定,触摸发生时,CCR1 会处于什么数 值范围. 3.合适的阈值 4.按键按下时 CAP 是频率增加还是减少? 相信大家根据上面的东西能设计出自己的触摸按键是没有问题了,但是如 何设计一个稳定,在各种复杂环境下能使用的的触摸按键,或者滑轮按键,TI 提供一套完整的解决方案,TI 提供一套触摸按键 lib,里面的软件完全开源,而 且已经封装成 API 函数,我们只需调用相应函数即可实现单按键,多按键,滑 调按键识别过程. Lib 的使用说明见 SLAA490CApril 2011,大家可在 TI 官网上找到 (http://focus.ti.com/docs/toolsw/folders/print/capsenselibrary.html.) 这是 Lib 的层次介绍图,详细可结合 TI Launchpad touch sense 实验! 下面附上自己编写的触摸按键代码:(在Lauchpad 上需要稍作修改) #include "msp430g2102.h" unsigned int counts[2];
unsigned int Count_Baseline[2];
unsigned int threshold[2] = {1000,300};
unsigned int TouchFlag[2];
void LED_Test(void) { if(TouchFlag[0]==1) P1OUT |= BIT4;
else P1OUT &= ~BIT4;
if(TouchFlag[1]==1) P1OUT |= BIT5;
else P1OUT &= ~BIT5;
} void Osc_pin(void) { P1OUT = 0x00;
// Clear Port
1 bits P1DIR |= (BIT0 +BIT4 +BIT5);
// Set P1.0 as output pin P2SEL &= ~(BIT6 + BIT7);
// Configure XIN (P2.6) and XOUT (P2.7) to GPIO P2OUT = 0x00;
// Drive all Port
2 pins low P2DIR = 0xFF;
// Configure all Port
2 pins outputs // P1SEL &= ~BIT6;
// P1.2,P1.6 配置为电容检查引脚 // P1SEL2 |= BIT6;
} void Touch_Init(void) { unsigned int i;
for(i=0;
i