|
我在用msp430 2274中使用timera模块时发现:在其作为定时器用时时钟设为1Mhz是计数为1和10是输出频率均为24.7khz左右。。。为什么?
附程序:
#include<msp430x22x4.h>
void init_clk()
{
WDTCTL = WDTPW + WDTHOLD;
BCSCTL1 = CALBC1_1MHZ; //设定DCO为1MHZ
DCOCTL = CALDCO_1MHZ;
}
void init_io()
{
P2DIR=0XFF;
}
void timerA()
{
TACTL|=TASSEL_2; //+TAIE;
TACCTL0|=CCIE;
TACCR0=1;
// TACCR1=0X25;
_BIS_SR(GIE);
TACTL|=MC_1;
}
void main()
{
init_clk();
init_io();
timerA();
while(1);
}
#pragma vector=TIMERA0_VECTOR
__interrupt void zhi1()
{
if(P2OUT==0X00)
P2OUT=0XFF;
else
P2OUT=0X00;
}
/*#pragma vector=TIMERA1_VECTOR
__interrupt void qing0()
{
P2OUT=0X00;
}*/ |
|