欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
新手求助MSP430單片機定時器時間不準問題
[打印本頁]
作者:
mming
時間:
2018-9-15 11:42
標題:
新手求助MSP430單片機定時器時間不準問題
請教壇里各位資深前輩、老師們,幫我看看為什么我配置的定時器時間不準,開發板是149,高速晶體為8M,P2.7連接LED,利用定時器A實現每隔num2秒,LED翻轉一次。現在的問題就是如果計數模式我設置成MC_1增計數,定時器直接進不了中斷,或者只能進入一次,再就是我配置為連續計數模式后,主程序里放的位置不同,LED的閃爍時間就不同,不知道什么原因,在此感激各位前輩!
void main()
{
WDTCTL = WDTPW + WDTHOLD;
CLOCK_Init();
PORT_Init();
/*
TACTL = TASSEL_2 + ID_3 + MC_2 + TAIE + TACLR; // 這段注釋的定時器配置放在此處和放在主程序while()里,
CCTL1 = CCIE; // P2.7端口LED的閃爍時間不一樣
CCR1 = 9999; */
_EINT();
while(1)
{
TACTL = TASSEL_2 + ID_3 + MC_2 + TAIE + TACLR; // 8M 晶體 8分頻 連續計數
CCTL1 = CCIE;
CCR1 = 9999; // CCR1 為 定時0.01秒
KEY_SCAN(); //按鍵檢測
KEY_service(); //按鍵服務函數
Display_service(); //顯示服務函數
Display(); //顯示函數
if(t == num2) //num2 是時間設定顯示函數里的變量,可以任意取值,num2 =1就是1秒,等于X就是X秒
{
t=0;
P2OUT ^= BIT7;
}
}
}
#pragma vector = PORT1_VECTOR // P2.0中斷函數
__interrupt void P1_Interrupt()
{
P1IFG=0X00;
PULSE++;
P2OUT ^= 0X01;
_DINT();
}
#pragma vector = TIMERA1_VECTOR
__interrupt void TIMEA1()
{
switch(TAIV)
{
case 2: t++; if(t>num2) t=0; break;
case 4: break;
case 10: break;
}
}
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1