| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> stm32学习笔记——外部中断 -> 正文阅读 |
|
[嵌入式]stm32学习笔记——外部中断 |
stm32的每个IO口都可以作为外部中断输入。 stm32的中断控制器支持19个外部中断/事件请求。 线0~15:对应外部IO口的输入中断。 线16:连接到PVD输出。 线17:连接到RTC闹钟事件。 线18:连接到USB唤醒事件。 每个外部中断线都可以独立地配置触发方式(上升沿,下降沿,双边沿),触发/屏蔽,专用的状态位。 但stm32地IO口多达上百个,如zet6有7组GPIO每组16位,共112个IO口,中断线却只有16根。 IO口与中断线的连接 GPIOx.n与中断线EXTIn相连,且同一时间EXTIn只能与一个GPIOx.n相连。 比如GPIO1.0和GPIO2.0都可以与EXTI0相连,但同一时间外部中断输入要么是GPIO1.0要么是GPIO2.0。 中断服务函数的分配 IO口外部中断在中断向量表中只分配了7个中断向量,也就是只能使用7个中断服务函数。
从上图可以看出,线0~4这五根中断线各自单独控制一个中断函数,线5~9这五根中断线共用一个中断函数,线10~15这六根中断线共用一个中断函数。 设置外部中断的一般步骤 代码主要分布在固件库的 stm32f10x_exti.h 和 stm32f10x_exti.c 文件中。 1、初始化IO口为输入 使能IO口为下拉或上拉输入。并使能GPIO时钟。 参考按键初始化。 2、开启IO口复用时钟 开启IO口复用时钟。参考复用功能。 3、设置IO口和中断线的映射关系
4、对中断线进行初始化
5、配置中断分组并使能中断。 详情参考NVIC配置内容
6、编写中断服务函数,清除中断标志位 和NVIC的中断服务函数名称有要求,EXTI外部中断服务函数也要按照指定函数名编写
|
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 5:39:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |