Quantcast
Channel: MSP 低功耗微控制器论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 3634

关于msp430测频率的程序的问题

$
0
0

uint16_t heartbeat(void)
{

//DCOCTL = 0;
//BCSCTL1 = 0;
//DCOCTL = 0;
BCSCTL1 = 0; \
DCOCTL = 0;
BCSCTL2 |= DIVS_3;//8分频

TA1CTL = TASSEL_2 + ID_3 + MC_2 + TACLR;//MCLK,8分频
TA1CCTL1 = CM_1 +CCIS_0 + SCS + CAP + CCIE;
P3SEL |= PULSE;//捕获模式
j=0;
lastCCR1=0;
__bis_SR_register(LPM0_bits+GIE);
//P1OUT |= LED_POWER;
__bis_SR_register(LPM0_bits+GIE);
return lastCCR1;
}

#pragma vector=TIMER1_A1_VECTOR
__interrupt void TIMER_A(void)
{


switch(TA1IV)
{
case 2://j = TA1CCR1-lastCCR1;
lastCCR1 = TA1CCR1;
TA1R=0;
LPM0_EXIT;
// P1OUT |= LED_POWER;
break;
case 10:break;
LPM0_EXIT;
default: break;
}

}

麻烦大家帮我看一下上面的测试方波周期的程序:

定时器的时钟为1.56khz

测试方波的范围为1hz-10hz,测试过程中发现当测2hz频率以下的方波时,程序就不跑了,好像是陷入了循环里一样,昨天想了很久,也没有想通,麻烦大家看一看。

用的单片机类型为msp430f2132


Viewing all articles
Browse latest Browse all 3634

Trending Articles