hal库开启中断关中断_stm32的HAL库开发学习笔记之外部中断

外部中断

中断线————EXTI线0~15(对应外部IO口的输入中断)

每个IO口都可以作为外部中断输入

每个中短线可以独立的配置触发方式(上升沿,下降沿,双边沿),触发/屏蔽,专用状态位。

GPIO与中断线映射关系

EXTI0->PA0,PB0,PC0,……PI0

EXTI1->PA1,PB1,PC1,……PI1

........................

EXTI15->PA15............

具体引脚通过配置寄存器SYSCFG_EXTIRx选择,四位,选择16个IO口

七个中断服务函数

EXTI0_IRQHandler

EXTI1_IRQHandler

EXTI2_IRQHandler

EXTI3_IRQHandler

EXTI4_IRQHandler

EXTI9_5_IRQHandler (共用)

EXTI15_10_IRQHandler (共用)

外部中断配置

GPIO_InitTypeDef GPIO_Initure;

GPIO_Initure.Pin=GPIO_PIN_0; //PA0

GPIO_Initure.Mode=GPIO_MODE_IT_RISING; //上升沿触发

GPIO_Initure.Pull=GPIO_PULLDOWN;

HAL_GPIO_Init(GPIOA,&GPIO_Initure)

(只需在GPIO初始化时设置MODE即可)

通用中断处理函数(位于gpio.c)

void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)

{

if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET)

{

__HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);

HAL_GPIO_EXTI_Callback(GPIO_Pin);//中断回调函数

}

}

中断回调函数

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)

{

switch(GPIO_Pin)

{

case GPIO_PIN_0:

//控制逻辑

break;

case GPIO_PIN_2:

//控制逻辑

break;

}

}

外部中断一般配置步骤

1.使能IO口时钟。

2.初始化IO口,设置触发方式(输入方式):HAL_GPIO_Init();

3.设置中断优先级,并使能中断通道。

4.编写中断服务函数:

函数中调用外部中断通用处理函数HAL_GPIO_EXTI_IRQHandler。

5.编写外部中断回调函数:HAL_GPIO_EXTI_Callback;

(该函数由通用中断处理函数HAL_GPIO_EXTI_IRQHandler调用)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/245800.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kindle的xray怎么用_Xray使用的一些经验分享

前言xray被动扫描器,是我目前个人挖洞过程中,感觉最好用的一款扫描器。这篇博客,分享一下我使用xray的一些小心得吧官方github:https://github.com/chaitin/xray官网文档:https://xray.cool/xrayburp的使用普通使用配置…

字符串属于python有序序列、支持双向索引_字符串属于Python有序序列,和列表、元组一样都支持双向索引。...

【多选题】框架梁上部纵筋包括哪些( )【单选题】钢筋半圆弯钩的长度应为下列哪项。【单选题】检验蔬菜质量的主要指标是【判断题】新鲜鳓鱼初加工时要去鳞,因为鳓鱼腥味较大【判断题】低级格式化可以彻底消除硬盘坏道,使硬盘重获新生。【单选题】.鲜草菇呈____色,以菌苞未破,呈…

移动设备 (Android),How-To Geek正在寻找专注于移动设备(Android,iOS,可穿戴设备等)的作家 | MOS86...

随着移动技术的发展和扩展,我们的覆盖范围也在不断扩大。 我们正在寻找经验丰富,专业和知识渊博的自由作家,以帮助将我们的移动内容提高到一个新的水平。我们正在寻找经验丰富的作家来帮助报道有关移动技术的新闻和社论解说。 理想的人选将精…

sh执行文件 参数传递_Shell脚本传参数方法总结

一、接收固定长度的参数[rootsvn shell_example]# cat params.sh#!/bin/bash#传参测试脚本echo "My name is basename $0 -I was called as $0"echo "My first parameter is : $1"echo "My second parameter is : $2"空参数执行[rootsvn shell_e…

android mdpi对应哪一个屏幕,android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配...

1 Android手机目前常见的分辨率1.1 手机常见分辨率:4:3VGA 640*480 (Video Graphics Array)QVGA 320*240 (Quarter VGA)HVGA 480*320 (Half-size VGA)SVGA 800*600 (Super VGA)5:3WVGA 800*480 (Wide VGA)16:9FWVGA 854*480 (Full Wide VGA)HD 1920*1080 High D…

datatable筛选条件_C#利用DataView的RowFilter对DataTable进行查询筛选

1、筛选某个字段满足指定条件的记录DataView dv myDs.Tables[0].DefaultView;dv.RowFilter "Year1427";gv.DataSource dv;Year这个是myDs.Tables[0]的一个字段。这样就是只有Year的值等于1427的记录绑定gv控件。2、用RowFilter对指定列进行模糊匹配我们都知道sql语…

用linq查询html中div个数,C#使用Linq to XML进行XPath查询

最近在用到HtmlAgliltyPack进行结点查询时,发现这里选择结点使用的是XPath。所以这里总结一下在C#中使用XPath查询XML的方式。习惯了用Linq,这里也是用的Linq to xml的。Linq To XML的核心类是XDocument和XElement、XAttribute,下面简单介绍一…

csp怎么给线条描边_PS的四种“描边”方式你都知道吗?Photoshop小知识

1.编辑描边基于位图的运算描边方式在画布里输入需要的文字,对图层单击右键,选择“栅格化文字”。选择顶栏的编辑菜单,选择“描边”,弹出描边对话框后调节粗细、颜色和描边位置,点击“确认”即可。从一些细节我们可以看…

学编导还是学计算机,高二学编导烧钱吗

高二学编导烧钱吗2019-09-22 10:34:23文/马妍高二学编导还是很费钱的。艺术专业的学习普遍都很贵,学编导总体需要3-6万元左右。一般培训班要两到三万,还需要购买一些专业的设备,费用也不低。编导专业简介编导有广义和狭义之分,狭义…

两个质数互质是_科学网—理解黎曼猜想(二)两个自然数互质的概率是多少? - 袁岚峰的博文...

导读:任选两个自然数,它们互质的概率是多少?它就是s 2时欧拉乘积公式右边的连乘的倒数,因此它等于s 2时欧拉乘积公式左边的连加的倒数,即1/ζ(2)。而ζ(2) π^2/6,因此这个概率等于6/π^2 ≈ 60.79%。同…

修改计算机用户权限,如何修改一个电脑账户为最低权限

使用Administrator管理员账户,且不能删除。①在登录的欢迎屏幕显示Administrator账户的方法: 单击“开始→运行”,输入regedit后回车,打开注册表编辑器,依次展开“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\C…

一副眼镜一千多贵吗_央视曝光!一副眼镜上千元,出厂价却只要几十元

原标题:央视曝光!一副眼镜上千元,出厂价却只要几十元眼镜行业历来让人觉得非常“暴利”,那么一副眼镜生产成本究竟是多少呢?据央视财经《正点财经》报道,一副眼镜的出厂价只需几十元。江苏丹阳:…

vue图片时间轴滑动_vue时间轴风格式的图片展示

项目将近完结,在修正bug的同时,也对自己项目中代码进行回顾分析。看回半年前写的东西,真是很多都感到陌生,所以趁着下午的空档时间总结下之前遇到的难点。好的,先上图,目标效果先分析上下两层,上…

用计算机录制一段30,测评!电脑录屏软件哪个好用?小白进阶第1阶段

原标题:测评!电脑录屏软件哪个好用?小白进阶第1阶段电脑录屏软件哪个好用?最近短视频越来越火,小卓发现身边不少人都在捣鼓视频,有拍摄的有录屏的比比皆是。问了一下,大多是对此感兴趣的&#x…

quartz定时器依赖_JAVA使用quartz添加定时任务,并依赖注入对象操作

最近在写定时任务,以前没接触过。查了些相关资料说使用quartz定时框架。需要配置文件:config-quartz.xml相关配置如下(红色部分是之后添加的,在后面步骤会说明):xsi:schemaLocation"http://www.springframework.org/schema/b…

计算机一级b需要学哪些,希望通过江苏省计算机一级B考试的同学千万要看哦!江苏省计算机一级B理论复习资料(绝密资料)...

省一级B理论49、算法的基本性质包括确定性、有穷性、能行性、输出、(输入)50、算法是问题求解规则的一种过程描述。51、用机器语言编写的程序在计算机上可直接运行52、求解可计算问题的程序框架都可用顺序、选择和重复三种控制成分来描述。53、程序设计语言可划分为机器语言、汇…

深信服上网行为管理开启snmp_编写SHELL脚本在CACTI中来实现监控深信服上网行为管理的CPU和内存使用情况...

一、深信服上网行为管理中的SNMP设置二、在CACTI中编写SHELL脚本如下:cpu oid: .1.3.6.1.4.1.35047.1.3内存 oid: .1.3.6.1.4.1.35047.1.4在线用户数oid: .1.3.6.1.4.1.35047.2.1.1.1.0会话数oid: .1.3.6.1.4.1.35047.2.1.1.6.0先编写监控CPU的脚本vim ac.sh#! /bin…

同一个网络中为什么有些计算机可以连接共享打印机,有些需要输入密码,安装局域网共享打印机时,要求输入用户和密码,但对方并没有设置,为什么?谢谢!!...

2006-07-20 回答有的需要,有的不需要如若不需要,则需;windows xp3方法:1、确保你装有打印机的电脑与其他需要打印的电脑已经联网(必须在同一个局域网中、具有相同的子网号和子网掩码)2、开启打印机和文件共享服务:在网…

centos路由查看命令_CentOS下使用Route命令添加路由

方法一添加路由:route add -net 192.168.0.0/24 gw 192.168.0.1route add -host 192.168.1.1 dev 192.168.0.1删除路由:route del -net 192.168.0.0/24 gw 192.168.0.1add 增加路由del 删除路由-net 设置到某个网段的路由-host 设置到某台主机的路由gw 出…