MSP430FR5969: TimerA Minimum Interrupt Period

Part Number: MSP430FR5969

Tool/software:

I have two questions.
1. The output of TimerA's TimerCLK is half of SMCLK.
The divider is set to 1/1. Why is this the case?
(Example: SMCLK is 16MHz and TimerCLK is 8MHz.)

2. I want the TimerA interrupt period to be 8MHz The interrupt period is only about 382kHz.

Below is the source code.

I think there are some strange parts, so please let me know if you find them.

#include <msp430.h>
#include <stdint.h>
/////////////////////////////////////////////////////////////////
void intializeMCU(void){
WDTCTL = WDTPW | WDTHOLD; // Stop WDT

CSCTL0 = 0xA500;

FRCTL0 = FRCTLPW | NWAITS_1;

// Clock System Setup
CSCTL0_H = CSKEY_H; // Unlock CS registers
CSCTL1 = DCOFSEL_0; // Set DCO to 1MHz
// Set SMCLK = MCLK = DCO, ACLK = VLOCLK
CSCTL2 = SELA__VLOCLK | SELS__DCOCLK | SELM__DCOCLK;
// Per Device Errata set divider to 4 before changing frequency to
// prevent out of spec operation from overshoot transient
CSCTL3 = DIVA__4 | DIVS__4 | DIVM__4; // Set all corresponding clk sources to divide by 4 for errata
CSCTL1 = DCOFSEL_4 | DCORSEL; // Set DCO to 16MHz
// Delay by ~10us to let DCO settle. 60 cycles = 20 cycles buffer + (10us / (1/4MHz))
__delay_cycles(60);
CSCTL3 = DIVA__1 | DIVS__8 | DIVM__8; // Set all dividers to 1 for 16MHz operation
CSCTL0_H = 0; // Lock CS registers // Lock CS registers

// Configure GPIO

P1DIR |= BIT0; // Set P1.0 to output direction
P1OUT |= BIT0; // Clear P1.0 output latch for a defined power-on state

P4DIR |= (BIT5 + BIT6); // Set P4.5 to output direction
P4OUT = 0x00;
P4OUT |= BIT5;
P4REN |= BIT5;

P3DIR |= BIT4; // Set P4.6 to output direction
P3OUT |= BIT4;
P3REN |= BIT4;
P3SEL0 &= BIT4;
P3SEL1 |= BIT4;

P1DIR |= BIT6; // Set P1.6 to output direction
P1OUT |= BIT6;
P1REN |= BIT6;
P1SEL0 |= BIT6;
P1SEL1 |= BIT6;

PM5CTL0 &= ~LOCKLPM5; // Disable the GPIO power-on default high-impedance mode
// to activate previously configured port settings
// TimerA 設定*/
TA0CTL = TASSEL_2 + ID_0 + MC_1 + TAIE; 
TA0CCTL0 = CCIS_0 + CCIE + OUTMOD_3;

TA0CCR0 = 1;
TA0EX0 = 0です。

}

/////////////////////////////////////////////////////////////////

* Timer0_A0

//////////////////////////////////////////////////////////////////

#pragma vector=TIMER0_A0_VECTOR
__interrupt void TIMER0_A0_ISR(void)
{
TA0CTL &= ~TAIFG;
P4OUT ^= BIT6;
}
int main(void)
{
intializeMCU();
_BIS_SR(GIE);
for(;;){

}

return 0
}

**Attention** This is a public forum