`
hulianwang2014
  • 浏览: 691703 次
文章分类
社区版块
存档分类
最新评论
  • bcworld: 排版成这样,一点看的欲望都没有了
    jfinal

CC2430 标志和屏蔽的含义

 
阅读更多

CC2430 CC2530标志和屏蔽的含义

在学习CC2430的时候,经常遇到“屏蔽”和“标志”等术语。在阅读《ZIgBee技术实践教程》时,发现书中部分寄存器中关于“屏蔽”和“标志”的说明和数据手册有出入,所以在这里归纳一下。

XX屏蔽,以IM结尾interrupt mask

例如OVFIM,T1CCTL1.IM。这些标志决定了中断是否发生。如果该位置位,则该中断条件满足时会发生中断。注意,中断条件发生中断发生时不同的概念,当中断发生时,CPU会进入指定的中断向量执行中断服务函数,而中断条件发生时只会置位某些标志。

一句话总结,XXIM决定中断是否发生。

XX标志,以IF结尾 interrupt flag

例如 OVFIF,CH10IF,CH1IF。中断条件发生时,寄存器的相关位就会被置位。这些标志只能通过软件检查,使用完之后需要软件清零。

例如使用定时器1比较中断时,

//定时器1中断函数

#pragma vector=T1_VECTOR

__interrupt void Timer1_ISR(void)

{  

  if(T1CTL & 0x40){

  P1_0 = 0;

  T1CTL &=~ 0x40;

  }

}


该段函数查询了T1CTL的第6位,即CH1IF标志位,查询之后清除了该标志位。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics