This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430G2553 Launch Pad NMI 实验

Launch Pad 实验指导书上的 7.6.3实验 按着例程无法实现其功能,求帮助。

 

  • 中断系统 
      中断的优先级是固定的。中断优先级的是以模块的在链接所处的位置决定的 。越靠近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。   注释1:RST/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。置ACCVIE为1,在发生FLASH存取冲突时,就产生一个NMI中断。NMI中断服务程序可以检查ACCVIFG位来判断NMI中断是否由FLASH存取冲突引起。   振荡器错误 
      振荡器错误信号对晶振失效的情形发出警告。置位OFIE将能够使振荡器发生错误时产   生一个NMI中断。NMI中断服务程序可以检查OFIF位来判断NMI中断是否由振荡器引起。    
       PUC信号可能触发一个振荡器错误。因为PUC信号使系统由LFXT1模式转变为LF模式,因而关断HF模式。PUC信号也关闭振荡器XT2。    


      一个NMI中断处理的例子   NMI中断是一个多源中断。NMI中断将自动复位NMIIE, OFIE和ACCVIE中断使能位。根据 
      实际应用的需要,用户的NMI中断服务子程序可以重置中断标志位,置位中断使能位   为了防止中断嵌套,不应该在中断服务子程序中设置ACCVIE, NMIIE,OFIE。 

    ///////////////////////////////////////////////////////////////////////////////

    因此,你要在中断程序里清楚该中断标志才行。

  • 纠正下,是清除该中断标志位。呵呵

x 出现错误。请重试或与管理员联系。