STM8 中断源

以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!

STM8 中断源

STM8中断控制器处理2种类型的中断源:

  • 不可屏蔽的中断:RESET,TLI和TRAP
  • 可屏蔽中断:外部中断或者内嵌的外设中断
    不可屏蔽中断源
    不可屏蔽中断不会考虑CC寄存器的I1和I0的状态(参见图17)。仅仅当TRAP中断发生时候将PC,
    X,Y,A和CC寄存器的内容压栈。相应的向量载入到PC寄存器中同时置位I1和I0位禁止中断(3级优先级)。
  • STM8_中断处理流程
    (图17:中断处理流程图)

  • TRAP(不可屏蔽的软件中断)
    当执行TRAP指令时就响应软件中断。它响应过程如图17所示的流程图。
    TRAP中断不能使处理器从停机(Halt)模式下退出。
  • RESET复位
    复位中断是STM8的软件和硬件中断的最高优先级,这也就是说在复位程序的开始所有的中断被禁止。必须通过RIM指令来使能它们(见表15)。
    复位中断可以使处理器从停机(Halt)模式退出。
    更详细的复位中断管理见复位章节。
  • TLI最高等级的硬件中断
    当在特定的I/O边沿检测到在相应的TLI输入时将产生硬件中断。
    注意:在TLI中断服务子程序中禁止使用TRAP指令。
    可屏蔽的中断源
    对于可屏蔽中断,如果相应的中断被使能,而且如果在ITC_SPRx寄存器的中断优先级比当前正在执行的中断(根据CC寄存器的I1和I0位)的优先级高的话那么就可以被响应。如果上面2个条件中的任何一个不满足那么该中断会被锁存并保持在等待状态。
  • 外部中断
    外部中断可以用来把MCU从停机(Halt)模式唤醒。外部中断触发方式的选择可以通过软件写控制外部中断控制寄存器(EXTI_CRx)来实现。
    当多个连接到同一个中断向量的外部引脚中断被同时选定时候,那么他们是'逻辑或'的关系。
    当外部的电平触发中断被锁存后,如果该给定的电平一直保持到中断子程序结束,那么该电平信号将再次触发中断,除非在中断子程序中禁用该中断。
  • 外设中断
    大部分的外设中断会导致MCU从停机(Halt)模式下唤醒。
    当对应外设状态寄存器的中断标志位被置位,同时相应的外设控制寄存器的使能位被置位时将产生一个外设中断。
    清除一个STM8外设中断的标准顺序是在对状态寄存器的访问后再对相关寄存器进行读或者写操作。
    当一个清除过程被执行之后相应的悬起中断(一个将被执行的中断)会丢失。

STM8_专用中断指令集
(表15:专用中断指令集)


STM8 中断源

——