电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>传感与控制>中断控制基本编程方法和库函数及例程的详细中文介绍

中断控制基本编程方法和库函数及例程的详细中文介绍

2018-05-09 | rar | 0.40 MB | 次下载 | 免费

资料介绍

  中断基本编程方法

  利用《Stellaris外设驱动库》编写一个中断程序的基本方法如下:

  1. 使能相关片内外设,并进行基本的配置

  对于中断源所涉及的片内外设必须要首先使能,使能的方法是调用头文件《sysctl.h》中的函数SysCtlPeripheralEnable( )。使能该片内外设以后,还要进行必要的基本配置。

  2. 设置具体中断的类型或触发方式

  不同片内外设具体中断的类型或触发方式也各不相同。在使能中断之前,必须对其进行正确的设置。以GPIO为例,分为边沿触发、电平触发两大类,共5种,这要通过调用函数GPIOIntTypeSet( )来进行设置。

  3. 使能中断

  对于Stellaris系列ARM,使能一个片内外设的具体中断,通常要采取分3步走的方法:

  调用片内外设具体中断的使能函数

  调用函数IntEnable( ),使能片内外设的总中断

  调用函数IntMasterEnable( ),使能处理器总中断

  4. 编写中断服务函数

  中断服务函数从形式上跟普通函数类似,但在命名及具体的处理上有所不同。

  中断服务函数命名 对于GCC编译器下的程序,中断服务函数的名称是事先约定好的。用户可以打开启动文件“LM3S_Startup.s”来查看每个中断服务函数的标准名称(参见表1.1)。例如,GPIOB端口的中断服务函数名称是GPIO_Port_B_ISR,对应的函数头应当是“void GPIO_Port_B_ISR(void)”,参数和返回值都必须是void类型。在Keil或IAR开发环境下,中断服务函数的名称可以由程序员自己指定,但还是推荐采用GCC下的标准名称,这样有利于程序移植。

  中断状态查询 一个具体的片内外设可能存在多个子中断源,但是都共用同一个中断向量。例如GPIOA有8个管脚,每个管脚都可以产生中断,但是都共用同一个中断向量号16,任一管脚发生中断时都会进入同一个中断服务函数。为了能够准确区分每一个子中断源,就需要利用中断状态查询函数,例如GPIO的中断状态查询函数是GPIOPinIntStatus( )。如果不使能中断,而采取纯粹的“轮询”编程方式,则也是利用中断状态查询函数来确定是否发生了中断以及具体是哪个子中断源产生的中断。

  中断清除 对于Stellaris系列ARM的所有片内外设,在进入其中断服务函数后,中断状态并不能自动清除,而必须采用软件清除(但是属于Cortex-M3内核的中断源例外,因为它们不属于“外设”)。如果中断未被及时清除,则在退出中断服务函数时会立即再次触发中断而造成混乱。清除中断的方法是调用相应片内外设的中断清除函数。例如,GPIO端口的中断清除函数是GPIOPinIntClear( )。

  程序清单1.1以GPIOA中断为例,给出了外设中断服务函数的经典编写方法。关键是先将外设的中断状态读到变量ulStatus里,然后及时地、放心地清除全部中断状态,剩下的工作就是排列多个if语句分别进行处理了。

  程序清单1.1 典型的中断服务函数编写方法

中断控制基本编程方法和库函数及例程的详细中文介绍

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1TC358743XBG评估板参考手册
  2. 1.36 MB  |  330次下载  |  免费
  3. 2开关电源基础知识
  4. 5.73 MB  |  11次下载  |  免费
  5. 3100W短波放大电路图
  6. 0.05 MB  |  4次下载  |  3 积分
  7. 4嵌入式linux-聊天程序设计
  8. 0.60 MB  |  3次下载  |  免费
  9. 5DIY动手组装LED电子显示屏
  10. 0.98 MB  |  3次下载  |  免费
  11. 6基于FPGA的C8051F单片机开发板设计
  12. 0.70 MB  |  2次下载  |  免费
  13. 751单片机PM2.5检测系统程序
  14. 0.83 MB  |  2次下载  |  免费
  15. 8基于51单片机的RGB调色灯程序仿真
  16. 0.86 MB  |  2次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537797次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191186次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费