Other Parts Discussed in Thread: MSP430FR2111
您好!
我正在尝试使用 MSP430FR2111的16位 Timer0_B3生成一个简单的计时器。 想法是生成中断并切换 ISR 内的引脚。 我缺少一些内容、因为代码无法正常工作。 这里是我的代码。
#include
//#define PERIOD 50000; //要在 CCRx 寄存器中存储和计数的值
void initSlepTimer();
void main (void)
{
WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器
P1OUT &= 0x00;//关闭所有内容
P1DIR &= 0x00;
P2OUT &= 0x00;
P2DIR &= 0x00;
PM5CTL0 &=~LOCKLPM5;//禁用高阻抗状态上的 GPIO 电源
P1DIR |= BIT4;//将 P1.4设置为输出
_enable_interrupt ();
initSlepTimer();
}
空 initSlepTimer()
{
TB0CCR0 = 50000;//向上计数到 TB0CCR0中存储的值
TB0CCTL0 = CCIE;//CCR0中断被启用
TB0CTL = TBSSEL_ACLK | MC__UP | TBCLR;//选择 ACLK、向上计数模式、清除 TBR 以开始计数
}
#pragma vector=TIMER0_B0_VECTOR
_interrupt void TIMER0_B0_ISR (void)
{
P1OUT |= BIT4;//在中断时切换 P1.4
}
我看不到 P1.4切换。 有什么想法吗?
谢谢、
Ganesan M.