当前位置:首页 > 问问

stm中断按什么键可以回来 STM中断返回方式是什么?

1、STM中断的概念

STM中断是指在程序运行过程中,硬件或软件触发了中断请求信号,导致CPU暂停当前运行的程序,转去执行该中断请求所对应的子程序,等子程序执行完毕之后,CPU再回到原来中断请求点继续运行程序。

STM32是一款处理器,它的中断请求比较多,如中断请求、外部中断请求、DMA传输完成中断、定时器中断等等。因此,在编程时需要针对不同的中断请求来处理中断事件,其中按键按下触发的中断需要程序员手动处理。

2、STM中断处理程序实现

通过程序中断处理程序的实现,可以从底层代码的角度来学习STM中断的处理流程。

当有一个中断请求到达CPU时,CPU停止当前执行任务,首先保存当前执行任务的寄存器状态,然后进入中断处理程序开始执行。在STM32中,中断处理程序的函数名和硬件的中断向量表中定义的名称要一致,这样才能保证中断处理程序和硬件中断向量执行的匹配性。

当中断处理程序执行完毕后,系统会从硬件中断向量表中读取下一条指令,并在中断返回之前恢复之前的寄存器状态。需要注意的是,当多个中断请求同时到达时,会按照高优先级中断、低优先级中断的方式进行处理。

3、按哪个键可以回来?

在STM32中,按键按下产生的是一个外部中断,一般使用外部中断线(EXTI)实现, 当发生外部中断时,STM32会自动判断外部中断引脚的信号变化并产生相应的中断请求。当程序进入中断处理程序时,需要根据按下的键码或者对应的按键情况来处理中断事件。而回到主程序的具体操作则可以用函数“NVIC_SystemReset();”实现重启系统的功能。

4、总结

STM32中的中断处理需要程序员手动进行,在实现中断处理程序时需要注意匹配中断函数和硬件中断向量表名称,处理中断时需要对不同的中断请求进行优先级的区分,按键按下是外部中断的一种,可以借助外部中断线来处理。而回到主程序则可使用“NVIC_SystemReset();”函数实现。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
标签:

  • 关注微信

相关文章