Cómo definir una función de interrupción msp430
La función de servicio de interrupción se ingresa automáticamente. Solo necesita habilitar la interrupción del puerto serie y la interrupción general en el programa principal.
#include "msp430x54xA.h"
void main(void)
{
WDTCTL = WDTPW + WDTHOLD // Detener; WDT
P1DIR |= 0x01; // salida P1.0
TA1CCTL0 = CCIE; // interrupción CCR0 habilitada
TA1CCR0 = 50000;
TA1CTL = TASSEL_2 + MC_2 + TACLR; // SMCLK, modo cont, borrar TAR
__bis_SR_register(LPM0_bits + GIE); // Ingresar LPM0, habilitar interrupciones
__no_operación() ; // Para el depurador
}
// Rutina de servicio de interrupción del temporizador A0
#pragma vector=TIMER1_A0_VECTOR
__interrupt void TIMER1_A0_ISR( void)
{
P1OUT ^= 0x01; // Alternar P1.0
TA1CCR0 += 50000 // Agregar compensación a CCR0
}
Información ampliada:
El microcontrolador de la serie MSP430 es un microcontrolador de 16 bits que adopta una estructura de conjunto de instrucciones reducido (RISC) y tiene modos de direccionamiento enriquecidos (7 tipos de código fuente). direccionamiento de operandos, 4 tipos de direccionamiento de operandos de destino), 27 instrucciones centrales concisas y una gran cantidad de instrucciones de simulación; una gran cantidad de registros y memoria de datos en el chip pueden participar en una variedad de operaciones, también hay instrucciones de procesamiento de tablas de búsqueda eficientes; . Estas características garantizan que se puedan compilar programas fuente eficientes.
Enciclopedia Baidu-Microcontrolador MSP430