网站大量收购闲置独家精品文档,联系QQ:2885784924

GPIO中断实验精编.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GPIO中断实验 一、 GPIO中断功能介绍 GPIO管脚五种中断方式 二、与GPIO中断相关库函数讲解 二、与GPIO中断相关库函数讲解 二、与GPIO中断相关库函数讲解 三、中断处理过程 三、中断处理过程 三、中断处理过程 三、中断处理过程 四、按键中断控制LED亮灭——硬件电路 四、按键中断控制LED亮灭——程序清单 本节课实验任务 二、与GPIO中断相关库函数讲解 一、GPIO外部中断介绍 内容提要: 三、中断处理过程 四、按键中断控制LED灯亮灭 ■ 可编程控制GPIO中断 – 屏蔽中断发生 – 边沿触发 上升沿 下降沿 双边沿(上升/下降沿) – 电平触发 高电平触发 低电平触发 – 中断优先级可调整 GPIO模块由 7个模块组 成,每个对应 一个独立的 GPIO端口 (端口A,端口 B, 端口C, 端 口D, 端口E, 端口F和端 口G)。 每个GPIO口都 具备中断能力。 上升沿触发:GPIO_RISING_EDGE 用于检测无抖动的上升沿 下降沿触发:GPIO_FALLING_EDGE 用于检测无抖动的下降沿 高电平触发:GPIO_HIGH_LEVEL 用于检测高电平状态 低电平触发:GPIO_LOW_LEVEL 用于检测低电平状态 双边沿触发:GPIO_BOTH_EDGE 用于检测无抖动的双边沿 内容提要: 二、与GPIO中断相关库函数讲解 一、GPIO外部中断介绍 三、中断处理过程 四、按键中断控制LED灯亮灭 GPIO中断实验 无 返回值 ulPort:端口名称—GPIO_PORTx_BASE ucPins: 引脚名称—GPIO_PIN_n ulIntType:中断类型(以下五选一) GPIO_FALLING_EDGE GPIO_RISING_EDGE GPIO_BOTH_EDGES GPIO_LOW_LEVEL GPIO_HIGH_LEVEL 参数 设置GPIO口引脚中断类型 功能说明 GPIO.c GPIO.h 函数来源 void GPIOIntTypeSet (unsigned long ulPort, unsigned char ucPins, unsigned long ulIntType); 函数原型 使能引脚中断 功能说明 GPIO.c GPIO.h 函数来源 void GPIOPinIntEnable (unsigned long ulPort, unsigned char ucPins); 函数原型 使能某个外设中断 功能说明 Interrupt.c Interrupt.h 函数来源 void IntEnable (unsigned long ulInterrupt); 函数原型 清除引脚中断状态(一般用于中断服务子程序中) 功能说明 GPIO.c GPIO.h 函数来源 void GPIOPinIntClear (unsigned long ulPort, unsigned char ucPins); 函数原型 返回未被屏蔽的引脚中断状态 返回值 获取端口的中断状态,用于判断哪个引脚产生中断 功能说明 SysCtl.c SysCtl.h 函数来源 long GPIOPinIntStatus (unsigned long ulPort, tBoolean bMasked); 函数原型 内容提要: 二、与GPIO中断相关库函数讲解 一、GPIO外部中断介绍 三、中断处理过程 三、按键中断控制LED灯亮灭 GPIO中断实验 1.中断初始化 设置中断类型 使能引脚中断 使能外设中断 使能总中断 GPIOIntTypeSet (GPIO_PORTB_BASE,GPIO_PIN_4, GPIO_LOW_LEVEL); GPIOPinIntEnable (GPIO_PORTB_BASE,GPIO_PIN_4); IntEnable (INT_GPIOB); IntMasterEnable ( ); 2.中断服务子程序:GPIO_PORTB_ISR(void) 读取中断状态 清中断 中断处理 自动返回 ulstatus=GPIOPinIntStatus(GPIO_PORTB_BASE,TRUE); GPIOPinIntClear (GPIO_PORTB_BASE, ulstaus); switch(ulstatus) { case 0X01:Do What You Want; break; case 0X08:Do What You Want; break; } DoNothing 3

文档评论(0)

4753333 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档