STM32 中断系统及应用

一、中断系统​
中断 类型

*系统异常

*外部中断

在这里插入图片描述

中断优先级寄存器 为八位寄存器

     **优先级的设定** 

在这里插入图片描述

比较主优先级 和子的优先级的编号:

分组由SCB-AIRCR:PRIGROUP 寄存器控制

若设置主优先级 为0位时 子优先级 具有4个位(bit7 到 bit4 可设置0 -15 的数值 )

在这里插入图片描述

在这里插入图片描述

优先级配置位:
配置在 2^3 =8 为八位数值

在这里插入图片描述

使能中断请求

为外设的中断请求

在这里插入图片描述

在中断 stm32f10x_it.c 中查找中断函数

中断函数 为弱定义 可在需要的文件中定义(若写错了则会调用 hd.s中的中断服务函数)

✳中断函数不要由我们(用户)亲自调用 在终端条件触发时 有硬件自动调用!!

在这里插入图片描述

NVIC为嵌套向量 控制器 :
用于统一分配中断优先级和管理中断的(NVIC为内核外设)

在这里插入图片描述

在STM32中存在的中断 不存在先来后到顺序 永远为优先级高的先上;

二、中断应用

EXIT 简介 外部 中断/事件 控制

EXTI 管理外部中断的 管理输入线 具体有多少根线?

在这里插入图片描述

在这里插入图片描述

AFIO _ERTICR1
在这里插入图片描述

外部中配置寄存器(1):低16为有效, 高16位无效。

采用固件库编程 配置寄存器控制中断

EXTI 初始化结构体
EXTI _ InitTypeDef
1- EXTILine :用于产生中断/事件 线
2- EXTLMode : EXTI 模式(中断/事件)
3- EXTLTrigger :触发(上/下/上下)
4- EXTILineCmd:使能或者失能( IMR / EMR )

在这里插入图片描述

EXTI 简介

  • EXTL ( Extern Interrupt )外部中断
  • EXT 可以监测指庭 GPO 电的电平信号,当其指定的GPIO 口产生电平变化时 EXTI将立即向 NVIC 发出中断申请,经过 NVIC 裁决后即可中断CPU主程序,使 CPU执行 EXTI对应的中断程序
  • 支持的触发方式:上升沿下降沿/双边沿/软件触发
  • 支持的 GPIO 日所有 GPIO 口,但相同的 Pin不能同时触发中断 通道数:16个 GPIO _ Pin ,外加 PVD
    输出出、 RTC 闹钟、 USB 唤醒、以太网唤醒
  • 触发响应方式中断响应事件响应

*但是相同的 PIN 不可以同时触发中断 (即为 PA0 和PB0 不能同时使用)

*主要为16个gpio_pin 的外部中断 其他的为蹭网中断

*触发事件的响应方式 :事件中断为 中断不进入CPU 而是通向其他外设 比如触发ADC转换 或者为触发别的外设工作 属于外设之间的联合工作

在这里插入图片描述

AFIO 为数据选择器 所以对于相同的外设 再通过AFIO选择后只有一个可以接到EXTI 的通道0上

⭐在16个输入信号加上4个蹭网的外设也是并列进来的;
在进入EXTI后分为俩个:
1.为输入NVIC 2.为外设中断

在AFIO_EXTICR1寄存器 的EXTI0[3:0] 位 配置数据选择器

选择EXTI_Line时 决定的是 (EXTI_IMR )的程序
在这里插入图片描述

初始化寄存器时 初始化为 MR0 (rw)

首先选择GPIO的端口

函数原型 为:选择GPIO_PIN 作为 EXTI_Line( 线)

**采用 void _EXTILineConfig :为外部中断需要的函数调用此函数 既可以配置AFIO的数据选择器 来选择想要配置的中断引脚

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值