¿Configurando entrada en MSP430?

1

He estado intentando que funcionen 2 botones pulsadores de entrada en mi MSP430 FF529.

He tenido éxito con 1, pero no con el otro, lo que me hace pensar que el que no funciona está roto, ya que estoy haciendo lo mismo para ambos.

Los dos botones pulsadores de esta placa están conectados a los puertos P1.1 y P2.1

Obtuve P2.1 para funcionar bien haciendo:

P2DIR = 0x00;    //set as input
P2REN |= 0x02;   //enable pullup for p2.1

Ahora, para el Puerto 1, también necesito un LED conectado a P1.0 como salida, así que he hecho:

P1DIR = 0x01;  //set p1.0 as output, and p1.1 as input
P1REN |= 0x02; //enable pullup for p1.1

Así que P2.1 funciona perfectamente bien. El valor predeterminado es ALTO, y puedo ver que cambia a BAJO cuando presiono el botón. Pero este no es el caso para P1.1. El valor predeterminado para esto es BAJO, y presionar el botón no tiene efecto. ¿Me estoy perdiendo algo obvio? ¿O algo diferente sobre este puerto que el otro puerto?

Las partes a las que me refiero están en cuadros verdes.

MSP430 FF529

    
pregunta krb686

1 respuesta

1

Como OP señaló en los comentarios, el problema se debió a que el código cambió el estado de la salida del puerto 1 P1OUT . Cuando PxREN está habilitado para un puerto y pin determinado, el bit correspondiente para el mismo puerto y pin en PxOUT controla si el Pull-Up incorporado (Logic 1) o el Pull-Down (Logic 0) está conectado. PxDIR también debe configurarse en Logic 0 para que el puerto y el pin sean una entrada.

En consecuencia, Op había establecido la entrada del botón P1.1 en desplegable a Gnd, cuando el botón también está vinculado a Gnd cuando se presiona.

    
respondido por el Passerby

Lea otras preguntas en las etiquetas