我把MSP430的P1.2引脚作为方波的输入频率10Hz,但为什么一接到信号发生器上,就工作不正常,以下是程序:
#include <msp430x14x.h>
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
BCSCTL1 &= ~XT2OFF;
do
{
IFG1 &= ~OFIFG;
for (unsigned int i = 0xFF; i > 0; i--);
}
while ((IFG1 & OFIFG));
BCSCTL2 |= SELM_2 + SELS + DIVS_3;
P1DIR &= ~BIT2;
P1SEL = BIT2;
P2DIR = BIT0; //控制LED灯,高电平灯灭
P2OUT = 0XFF; //灯灭
CCTL1 = CM_1 + SCS + CCIS_0 + CAP + CCIE;
TACTL = TASSEL_2 + MC_2 + ID_3;
_BIS_SR(GIE);
while(1);
}
#pragma vector = TIMERA1_VECTOR
__interrupt void Timer_A1 (void)
{
if(TAIV == 0X02)
P2OUT ^= BIT0; //让灯交替亮灭
}
当程序下载到MCU时,灯在很快的闪,而且无论怎么调整输入的方波频率,灯都以那个频率在闪。当不接输入时,灯就不闪了。而且,在不接输入时,在P1.2口接一条杜邦线,杜邦线不连接其他设备,灯也会闪