新手求指教,小女子刚接触430,很多东西不懂,现在遇到难题了,望各位大神指点一下,不胜感激!
这段程序的中断能进去,但是貌似是跳不出来,执行到 while(1) 里面的 if(flagTrans==1)
就不执行了,程序哪部分写的不对啊
我的本意是想让while(1)死循环停下10秒的时间然后去干别的事情,然后再回到这个while循环
unsigned char flagTrans=0;
unsigned char Second=0;
void main(void)
{
WDTCTL=WDTPW+WDTHOLD;
{
P3OUT |= 0x20;
P3DIR |= BIT4 + BIT5;
P1OUT &= ~ 0x80;
P1OUT |= 0x20;
P1OUT |= 0x40;
P1DIR |= BIT5 + BIT6+ BIT7;
Init_duan();
setup();
Init_AD();
Init_TimerA();
main_12864();
}
hanzi_danwei(); //初始化屏幕
hanzi_xianshi(); //屏幕显示函数
_EINT();
while(1) //完成显示和传输一个循环共用时间为5s左右
{
if(flagTrans==1)
{
flagTrans=0;
display_data();
transfer_data();
temp();
}
}
}
#pragma vector = TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
Second++;
if(Second>=10)
{
Second=0;
flagTrans=1;
}
}
我的 Init_TimerA();
void Init_TimerA(void)
{
TACTL=TASSEL_1+ID_3+TACLR; //辅助时钟为计数源,8分频,增计数
CCTL0=CCIE;
CCR0=4096; //1s
TACTL |= MC0;
}