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

Posted xixixing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.2 SW1控制LED1亮灭(中断功能)相关的知识,希望对你有一定的参考价值。

中断: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亮灭(中断功能)的主要内容,如果未能解决你的问题,请参考以下文章

stm32亮灯后灯不能灭

中断控制LED灯亮灭

CC2530学习路线-基础实验-GPIO 控制LED灯亮灭

毕业设计 基于51单片机的手机蓝牙控制8位LED灯亮灭设计

ESP327.按键实验(中断)

EXIT(外部中断)控制实验