MSP430 accesibilidad de pin individual

1

Estoy trabajando en una aplicación de potencia ultra baja y quiero habilitar y acceder solo a un pin como salida y a un pin como entrada. Estoy usando el microcontrolador MSP430 y CCS para la programación. Tengo dos preguntas.

  • El MSP430 permite la accesibilidad de todo un puerto. ¿Es posible acceder solo a los dos pines requeridos como entrada y salida (que es posible en PIC)?

  • ¿El acceso (y la habilitación) de todo el puerto (8 pines) no consume más corriente que el acceso (y la habilitación) de un solo pin?

pregunta Jayesh Parmar

2 respuestas

1

El MSP430 organiza los bits GPIO en puertos, pero cuando usa sentencias C que establecen / borran bits individuales, el compilador generará comandos de activación / desactivación de bits que afectan solo a bits únicos (BIS / BIC):

if (P1IN & BIT1) {
    P1OUT |= BIT4;
} else {
    P1OUT &= ~BIT4;
}

Esto no consumirá corriente para los bits a los que no se acceda.

En general, los pines GPIO no consumen ninguna corriente, a menos que

  • los pines de salida en realidad se hunden o generan corriente (debido a los circuitos externos), o
  • los pines de entrada realmente cambian (o están flotando).

La guía del usuario le dice cómo configurar los pines no utilizados: como salida, o como entrada con un pull-up / -down. (La configuración predeterminada es la entrada sin pull-up / -down, que no ahorra corriente, pero es la configuración más segura mientras el chip aún está en reinicio).

    
respondido por el CL.
1

1) Sí, puede seleccionar pines individualmente. Por ejemplo, para establecer el pin 4 del puerto 1 como salida y alto:

P1DIR |= (1 << 4);
P1OUT |= (1 << 4);

Para establecer el mismo pin como entrada, borre el DIR bit:

P1DIR &= ~(1 << 4);

Aunque los registros P1DIR y P1OUT describen todo el puerto 1 en su totalidad, los bits individuales en ese registro controlan los pines individuales: el bit de orden más bajo controla el primer pin para ese puerto, y así sucesivamente. Lo mismo se aplica a los otros puertos, cada uno de los cuales tiene ocho pines.

2) Los pines siempre están "habilitados" en algún modo. Hay una bandera DIR para cada pin (que selecciona si el pin está en modo de entrada o salida) y también hay una bandera SEL (selecciona si el pin es de datos o modo de función). El modo predeterminado (después de reiniciar) para un pin es data + input. El consumo de energía depende de lo que haya conectado al pin; No hay una respuesta única.

    
respondido por el kfx

Lea otras preguntas en las etiquetas