中断系统
以stm32f1xx为例
中断:
用于处理内、外部随机事件,现有程序被转向,转向其他程序。
中断的管理:
- 决定中断源是否有权请求以及有效的请求方式
- 解决中断源之 间的竞争问题
- 为请求寻址
stm32的中断功能主要有NVIC完成。
中断源分类:
外部中断 同步
内部中断 异步
中断一定要有中断服务函数,必须cpu介入。
中断优先级
决定中断同时发生时的先后问题
决定中断嵌套问题
用户如何编写中断函数:
- 对NVIC和外部中断源初始化
- 编写中断服务程序
注:清零和置位 - 向系统注册中断服务程序
外部中断概述:
- stm32的每个IO都可以作为外部中断输入。
- stm32的中断控制器支持19个外部中断/时间请求:
- 线0-15 对应外部IO的输入中断
- 16 连接到pvd输出
- 17 连接到rtc闹钟事件
- 18 连接到usb唤醒事件
每个外部中断线可以独立的配置触发方式
,触发,状态位
不同IO 映射到外部中断线关系需查表
16 * 7 =112
注:有7个中断服务器
配置过程:
- 初始化IO口为输入
- 开启IO口复用时钟
- 设置IO口语中断线的映射关系
- 初始化线上中断、设置触发条件等
- 配置中断分组并使能中断

本文介绍了STM32的中断系统,包括中断的概念、中断管理、中断源分类、中断优先级和用户如何编写中断函数。重点讲解了STM32的中断控制器NVIC,以及外部中断的配置过程,强调了每个外部中断线的独立配置和触发方式设定。
最低0.47元/天 解锁文章
535

被折叠的 条评论
为什么被折叠?



