|
MSP432 Capacitive Touch
[复制链接]
尝试配置了一下432的电容触摸驱动,碰到个问题求教各位网友。
首先我选择地输入引脚为P1.6
所以Capacitive Touch 的寄存器设置为
// touch pad choose p1.6
CAPTIO0CTL_H |=0x01;//Selected Capacitive Touch IO is enabled
CAPTIO0CTL_L |=0x1c;//P1.6
程序为
#include
#include "msp.h"
void main(void)
{
volatile uint32_t i;
uint16_t xx=0;
// Stop watchdog timer
WDT_A_hold(WDT_A_BASE);
// Set P1.0 to output direction
GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN0);
//set p1.6 input
//GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1,GPIO_PIN6);
//GPIO_setAsInputPinWithPullDownResistor(GPIO_PORT_P1,GPIO_PIN6);
//GPIO_setAsInputPin( GPIO_PORT_P1,GPIO_PIN6);
// touch pad choose p1.6
CAPTIO0CTL_H |=0x01;//Selected Capacitive Touch IO is enabled
CAPTIO0CTL_L |=0x1c;//P1.6
while(1)
{
// Toggle P1.0 output
xx= CAPTIO0CTL_H;
}
在IAR下调试,仿真。
但是无论是否按下电容按键,寄存器 CAPTIO0的数值总是0x031C 或者0x011c。 甚至P1.6不接的时候也是如此,我改变P1.6的输入模式后也是如此。
寄存器 CAPTIO0的数值总是0x031C 或者0x011c的变化其实就是 里面 CAPTIOSTATE 的你变化,这一位表示单片器所获取的电容按键的状态。
为什么会出现这样的情况?是我那配置不合适吗?
|
|