查看: 2072|回复: 0
打印 上一主题 下一主题

msp430中断

[复制链接]
跳转到指定楼层
沙发
发表于 2015-9-24 16:33:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
中断系统
  中断的优先级是固定的。中断优先级的是以模块的在链接所处的位置决定的。越靠近CPU/NMIRS,模块的优先级越高。中断优先级决定了,当系统有多个中断等待处理时,先处理哪一个中断。
  有三种中断类型:
  系统中断
  不可屏蔽中断
  可屏蔽中断
   不可屏蔽中断(NMI)
  不可屏蔽中断不能被总中断使能位(GIE)所屏蔽,而由单独的中断使能位(NMIIE, ACCVIE,OFIE)来控制的。当接收到不可屏蔽中断中断时,所有的不可屏蔽中断使能位会被自动复位。程序从不可屏蔽中断的中断向量0FFFCH存储的地址开始运行。用户软件必须设置所需的不可屏蔽的中断使能位,以便不可屏蔽中断能够再次响应。
  不可屏蔽的中断源有以下三种:
  1. 当配置为NMI模式时,RST/NMI引脚的一个边沿
  2. 振荡器失效
  3. 错误使用FLASH
  RST/NMI引脚
  上电时,RST/NMI引脚配置为复位模式。在看门狗控制寄存器WDTCTL中选择RST/NMI引脚的功能。如果RST/NMI引脚被设置为复位功能,RST/NMI引脚处于低电平时CPU将一直保持复位状态。当转为高电平时,CPU从存储在复位向量OFFFEH中的地址开始运行,RSTIFG将被置位。
  如果RST/NMI引脚被用户软件配置为不可屏蔽中断时,如果NMIIE位被置位时,WDTNMIES选择的信号边沿到来产生NMI中断。RST/NMI的标志位NMIIFG将会被置1
  注释1RST/NMI保持低电平
  在配置为NMI模式时,产生一个NMI事件的信号不会拉低RST/NMI引脚的电平。如果其他的信号源产生一个PUC时,NMI信号是低电平,设备将处于复位状态,因为一个PUC信号使RST/NMI引脚变为复位模式。
  注释2:修改WDTNMIES
  当选择了NMI模式,WDTNMIES位改变了,NMI是否产生将依据于实际的RST/NMI引脚的电平。在系统被设置为NMI模式前,如果NMI的边沿选择位改变早于选择NMI模式,不产生NMI
  FLASH的存取冲突
  当FLASH存取冲突发生时,ACCVIFG位将会被置1。置ACCVIE1,在发生FLASH存取冲突时,就产生一个NMI中断。NMI中断服务程序可以检查ACCVIFG位来判断NMI中断是否由FLASH存取冲突引起。
  振荡器错误
  振荡器错误信号对晶振失效的情形发出警告。置位OFIE将能够使振荡器发生错误时产
  生一个NMI中断。NMI中断服务程序可以检查OFIF位来判断NMI中断是否由振荡器引起。
  
   PUC信号可能触发一个振荡器错误。因为PUC信号使系统由LFXT1模式转变为LF
  式,因而关断HF模式。PUC信号也关闭振荡器XT2
  
  一个NMI中断处理的例子
  NMI中断是一个多源中断。NMI中断将自动复位NMIIE, OFIEACCVIE中断使能位。根据
  实际应用的需要,用户的NMI中断服务子程序可以重置中断标志位,置位中断使能位
  为了防止中断嵌套,不应该在中断服务子程序中设置ACCVIE, NMIIE,OFIE
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表