STM32学习——中断系统

STM32学习——中断系统

  • ==STM32的中断系统==
  • ==STM32的外部中断==
  • ==STM32的外部中断程序设计思路==
  • ==STM32中断系统实训==

STM32的中断系统

  ARM Contex M3内核支持256个中断,包括16个内核中断240个外设中断拥有256个中断优先级别。(但是不是所有都有这么多)

  **中断通道可能由多个中断源共用。**某个中断服务函数可能被多个中断源所共用,因此在中断服务函数入口处需要进行判断是哪个中断触发了中断请求。

  STM32存在两个优先级概念:抢占优先级响应优先级。先处理抢占优先级高的,如果抢占优先级相同,先处理响应优先级高的。

STM32的外部中断

  外部中断EXTI是STM32实时处理外部事件的一种机制,中断请求是由GPIO端口的引脚发出的,因此称为外部中断。

  STM32有16个外部中断源EXTI0 — EXTI15,分别对应着7个中断向量(中断服务函数)。其中:EXTI0、EXTI1、EXTI2、EXTI3、EXTI4专用EXTI5 — EXTI9共用EXTI10 — EXTI15共用;EXTI0的连接引脚是PA0 — PG0,即每个端口组的0号引脚,同理其它类似。
STM32学习——中断系统_第1张图片
  STM32外部中断触发条件:上升沿、下降沿、双边沿。(不能配置为高、低电平触发

STM32的外部中断程序设计思路

STM32学习——中断系统_第2张图片
在这里插入图片描述

STM32中断系统实训

STM32学习——中断系统_第3张图片
STM32学习——中断系统_第4张图片

---------------------------------------------------------操作---------------------------------------------------------
STM32学习——中断系统_第5张图片
STM32学习——中断系统_第6张图片
STM32学习——中断系统_第7张图片
STM32学习——中断系统_第8张图片
STM32学习——中断系统_第9张图片
STM32学习——中断系统_第10张图片
STM32学习——中断系统_第11张图片
STM32学习——中断系统_第12张图片
STM32学习——中断系统_第13张图片
STM32学习——中断系统_第14张图片
STM32学习——中断系统_第15张图片
STM32学习——中断系统_第16张图片
STM32学习——中断系统_第17张图片
先编译一边,确保工程没问题。


中断函数位置:
STM32学习——中断系统_第18张图片
STM32学习——中断系统_第19张图片
这里的callback为中断函数,主要编辑这个,中断后做什么都是写在callback里(复制到用户自定义里写)
STM32学习——中断系统_第20张图片
功能1、2的回调函数(功能1、2的回调函数是同一个,因此需要判断一下):
STM32学习——中断系统_第21张图片

你可能感兴趣的:(STM32学习,stm32,单片机,学习)