首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

关于开总中断的有关问题

2012-08-11 
关于开总中断的问题我在初始化里面,开了各个功能模块的中断,那么我后面的那一句__bis_SR_register(GIE)为

关于开总中断的问题
我在初始化里面,开了各个功能模块的中断,那么我后面的那一句__bis_SR_register(GIE); 为什么还要再开一次总中断呢?

  不开会用影响吗?

   

 UCA3IE |= UCRXIE; // Enable USCI_A0 RX interrupt
 //A0定时器,用于界面处理
  TA0CCTL0 = CCIE; // CCR0 interrupt enabled
  TA0CCTL1 = CCIE; // CCR1 interrupt enabled//时间周期1使能
  TA0CCTL2 = CCIE; // CCR2 interrupt enabled//时间周期2使能
  TA0CCTL3= CCIE; // CCR3 interrupt enabled//时间周期3使能
  //TA0CCTL4= CCIE; // CCR4 interrupt enabled//时间周期3使能
  TA0CCR0=256; //TA0R 计数到65535才清零。
  TA0CCR1=4096; //1s
  TA0CCR2=1024; //1/4 
  TA0CCR3=8192; //2s
  
  
  TA0CTL = TASSEL_1+ID_3 + MC_2 + TACLR+ TAIE; // ACLK, 8分频,MC_2:连续模式, clear TAR // ACLK,8分频32768/8=4096hz,contmode, clear TAR
  
  TA0CTL&=~ TAIE; 
}


 ADC12IE = 0x04; // Enable ADC12IFG.3
……

__bis_SR_register(GIE); // enable interrupts




热心的朋友可以顺便回答我下面的问题吗:


time() 函数取的是单片机系统的时间,还是编译器所在系统的时间?

为什么我们用time() 函数取的时间,在线调试状态下和离线状态下读出的时间不一样??
而且为什么我们读出的时间值不变?


我想问一下,就是我用系统时间的差值来判断某段程序运行是否超时用哪个函数方便?time()只能精确到秒 难以满足要求。

[解决办法]
一个是中断使能,一个是打开中断,不一样的

热点排行