码迷,mamicode.com
首页 > 其他好文 > 详细

5.2 SW1控制LED1亮灭(中断功能)

时间:2019-01-17 14:03:56      阅读:284      评论:0      收藏:0      [点我收藏+]

标签:png   col   注意   cc2530   标志位   oid   image   http   需要   

中断:CPU收到中断请求后暂停正在执行的程序,而去执行中断服务函数中的程序,处理结束后,继续执行原来的程序。

能够产生中断请求的中断源如下:

技术分享图片

CC2530中断设置步骤:使能端口组中断(IEN)——端口组中具体端口中断使能/禁止(PxIEN)——使能系统总中断(EA)

具体寄存器详情如下:

技术分享图片

技术分享图片

技术分享图片

中断服务函数格式:以P1为例

#pragma vector=P1INT_VECTOR
__interrupt void P1_INT(void) //注意,interrupt前是两个_
{
  /*处理程序*/
}

中断向量名如下:可查看ioCC2530.h头文件内容

技术分享图片

中断标志位:中断源很多,需要识别触发中断的中断源。

P0、P1、P2端口组的中断标志位分别是P0IF、P1IF、P2IF。

P1_2连接着SW1按键,按键按下P1IF值变为1,CPU就去执行P1的中断服务函数。标志位不能自动复位,需要手动清除该中断标志位。

  P1IF=0;  //清除P1端口组中断标志位

具体是P1中哪一个针脚引起的中断,可以通过PxIFG寄存器的值来判断。

 

5.2 SW1控制LED1亮灭(中断功能)

标签:png   col   注意   cc2530   标志位   oid   image   http   需要   

原文地址:https://www.cnblogs.com/xixixing/p/10281634.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!