认识STM32 的中断及如何使用

中断是一种机制,通过这种机制,I/O或指令可以暂停处理器的正常执行,并像具有最高优先级一样先执行自己的任务。也就是说,当外部中断发生时(比如来自某个传感器),处理器暂停其正在执行,首先提供中断服务,然后继续其正常执行。

为了了解 STM32F103C8 中的中断,我们将使用按钮作为外部中断。在这里,我们让从一个变量从 0 开始每秒增1,并将其显示在16x2 LCD上,当按下按钮时,LED亮起,LCD 显示屏会显示 INTERRUPT,松开按钮LED熄灭。

中断类型和 ISR(中断服务程序)

中断大致可以分为两类:

硬件中断: 如果到处理器的信号来自某些外部设备,例如按钮或传感器,或者来自其他信号并告诉处理器执行 ISR 中存在的特定任务的硬件设备,则称为硬件中断。

软件中断:由软件指令产生的中断。

中断服务程序:中断服务程序或中断处理程序是其中包含少量指令的事件,当发生中断时,处理器首先执行 ISR 中的这些代码,然后再继续执行中断之前正在执行的任务。

STM32中的中断语法

在Arduino IDE中,启用ISR具有以下语法attachInterrupt (digitalPinToInterrupt(pin), ISR, mode),同样可以在 STM32 中使用,因为本文正是使用 arduino IDE 上传代码。

digitalPinToInterrupt(pin):就像在Arduino board Un

你可能感兴趣的:(单片机,stm32,c语言)