登录 立即注册

电子DIY创易联盟

查看: 1799|回复: 3

LCP1768菜鸟学习笔记【二】——EXTI外部中断

[复制链接]
累计签到:65 天
连续签到:1 天

10

帖子

630

积分

0

听众

CY-3级

Rank: 3

积分
630
发表于 2017-8-31 23:10:01 | 显示全部楼层 |阅读模式

终于等到你!马上注册,和广大电子DIY爱好者一起玩耍,还有更多功能和福利等着你!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 流浪者 于 2017-9-1 17:43 编辑

学完了GPIO,接下来是EXTI外部中断。之前我们用到了按键,其实按键功能的实现有两种方式:按键扫描和外部中断。按键扫描是由单片机不断的对按键状态进行扫描,扫描到按键按下执行按键控制,之前用的就是按键扫描方式。外部中断是IO口一但出现变化就触发中断,跳到中断服务函数执行中断程序。相比于按键扫描,外部中断方式大大的提高了CPU的效率。

首先看一下LPC1768的外部中断输入引脚。

外部中断输入引脚

外部中断输入引脚 注意,这里用到了引脚复用功能,之前提到的引脚功能选择寄存器(PINSEL)在这就需要进行配置了。

然后来看下外部中断的相关寄存器:外部中断模式寄存器(EXTMODE)、外部中断极性寄存器(EXTPOLAR)、外部中断标志寄存器(EXTINT)。

1、引脚功能选择寄存器:因为之前没仔细说,所以先来说一下,引脚功能选择寄存器总共有11个,PINSEL0~PINSEL10,每两个控制一组端口,如PINSEL0和PINSEL1控制P0端口(PINSEL0控制端口低半位,PINSEL1控制端口高半位)。1个PINSEL有32位,每两位控制一个I/O口(00:默认功能,01:第一个可选的功能、10:第二个可选的功能、11:第三个可选的功能),如下面的代码,表示配置P2_10引脚功能为EINT0外部中断。这个寄存器的具体配置需要对照LCP17xx用户手册中的引脚配置。

  1. LPC_PINCON->PINSEL4|=(0x01<<20);//配置P2_10引脚功能为EINT0外部中断
复制代码

2、外部中断模式寄存器:用于配置外部中断模式,电平触发和边沿触发。该寄存器前四位分别控制一个外部中断,其中,0为电平触发,1为边沿触发。如下面的代码。

  1. LPC_SC->EXTMODE&=~(0x01<<0);//EINT0为电平触发
复制代码

3、外部中断极性寄存器:用于配置部中断触发方式,该寄存器前四位分别控制一个外部中断。其中,当为电平触发时,0为低电平触发,1为高电平触发。当为边沿触发时,0为下降沿触发,1为上升沿触发。如下面的代码。

  1. LPC_SC->EXTPOLAR &=~(0x01<<0);//EINT0低电平有效或下降沿触发
复制代码

4、外部中断标志寄存器:该寄存器前四位分别控制一个外部中断。当中断发生是,中断源相对应的位置位。一旦相应位被置位且相应的代码开始执行,必须将EXTINT寄存器中的相应位清零,通过写1来清零。如下面的代码。

  1. LPC_SC->EXTINT=(1<<0);//EINT0清除中断标志
复制代码

然后是EXTI外部中断的初始及使用了。

首先是中断初始化:

捕获9.PNG


步骤是:配置引脚外部中断复用功能->配置外部中断模式->配置外部中断触发方式->清除中断标志 ->使能中断

然后是中断服务函数:

捕获10.PNG

当产生中断且执行中断程序时,必须先将中断标志清零。

然后是我自己写的程序了。这个程序我采用了外部中断0的低电平触发方式,因为这样能更好的显示出中断的效果。实验现象是LED0闪烁,当按键按下时,LED0停止闪烁(中断当前程序),LED1点亮。当按键松开时,LED0恢复闪烁,LED1灭。

请点击此处下载

查看状态:需购买或无权限

您的用户组是:游客

文件名称:EXTI.zip 
下载次数:7  文件大小:410.45 KB 
下载权限: 不限 以上或 VIP会员   [购买VIP]   [储备金充值]










评分

参与人数 4创易币 +19 联盟豆 +15 收起 理由
奖励发放专用 + 15 每月好帖提名(第001期)集中奖励.
Simon + 2 + 5 内容详实!
红涛 + 5 赞一个!
huicy + 2 + 5 写的不错!

查看全部评分

#论坛管理认证#  论坛管理认证

累计签到:635 天
连续签到:1 天

206

帖子

1万

积分

32

听众

管理员

Rank: 20Rank: 20Rank: 20Rank: 20

积分
10821
发表于 2017-9-1 00:39:37 | 显示全部楼层
写的不错!本来这方面的资料就很少!这就给很多爱好者提供很多参考了,不错!
累计签到:105 天
连续签到:1 天

141

帖子

1407

积分

3

听众

CY-4级

Rank: 5Rank: 5Rank: 5

积分
1407
发表于 2017-9-1 20:39:01 | 显示全部楼层
赞一个
#论坛管理认证#  论坛管理认证

累计签到:74 天
连续签到:2 天

39

帖子

704

积分

1

听众

版主

Rank: 18Rank: 18

积分
704
发表于 2017-9-4 21:48:12 | 显示全部楼层
已收藏

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 收藏帖子 搜索
快速回复 返回顶部 返回列表