蓝桥杯嵌入式——中断相关

前言
我写这个博客,一方面是我现在处于复习阶段,巩固自己两个多月前学的知识,忘了不少了(这也写笔记的是主要目的)。另一方面是分享我在学习嵌入式时遇到的问题和一些对于小白的坑。

首先明确几个概念,这样既方便理解,不至于死记硬背:

中断不是外设!

CM3内核支持256个中断,16个内核中断和240个外部中断,且有256级的可编程中断设置。但是stm32并没有使用CM3内核的全部东西。

STM32有84个中断,其中16个内核中断和68个可屏蔽中断,具有16级可编程中断优先级,F103系列更少一点,只有60个可屏蔽中断。

中断管理方法:对STM32中断进行分组,组0~4,同时对每个中断设置一个抢占优先级和响应优先级。

关于抢占和响应,必须要清楚:抢占优先级相同的中断,高响应优先级不可以打断低响应优先级的中断。当抢占优先级相同,两个中断同时发生的情况下,响应优先级高的先执行。还有值越小,优先级越高

一般只设置一次中断优先级分组。

有关中断设置有关的函数在misc.c文件中。每个中断服务函数的名字要在启动文件startup_stm32f10x_md.s里面找。

具体配置步骤:

1.确定中断分组(我一般是写在main函数的开头,毕竟一个工程只设置一次)
2.调用NVIC——Init()配置中断函数。
3.写中断服务函数。

就写这些了,想到了再补充~~

猜你喜欢

转载自blog.csdn.net/qq_43690936/article/details/105158264