stm32之9.中断优先级配置

 主函数main.c

#include <stm32f4xx.h>
#include "led.h"
#include "key.h"#define PAin(n)        (*(volatile uint32_t *)(0x42000000 + (GPIOA_BASE+0x10-0x40000000)*32 + (n)*4))
#define PEin(n)        (*(volatile uint32_t *)(0x42000000 + (GPIOE_BASE+0x10-0x40000000)*32 + (n)*4))#define PEout(n)    (*(volatile uint32_t *)(0x42000000 + (GPIOE_BASE+0x14-0x40000000)*32 + (n)*4))
#define PFout(n)    (*(volatile uint32_t *)(0x42000000 + (GPIOF_BASE+0x14-0x40000000)*32 + (n)*4))int main(void)
{//抢占优先级0~3,支持4级!//响应优先级0~3,支持4级!NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);led_init();key_init();while(1){}
}//外部中断0的中断服务函数
//void EXTI0_IRQHandler(void)
void EXTI0_IRQHandler(void)
{if(EXTI_GetITStatus(EXTI_Line0) == SET){PFout(9)=0;delay();PFout(9)=1;delay();/* 清空标志位,告诉CPU当前中断请求完毕,可以去响应新的中断请求思考题:若不清空标志位,会出现什么现象?*/EXTI_ClearITPendingBit(EXTI_Line0);}}//外部中断2的中断服务函数
void EXTI2_IRQHandler(void)
{if(EXTI_GetITStatus(EXTI_Line2) == SET){PFout(10)=0;delay();PFout(10)=1;delay();/* 清空标志位,告诉CPU当前中断请求完毕,可以去响应新的中断请求思考题:若不清空标志位,会出现什么现象?*/EXTI_ClearITPendingBit(EXTI_Line2);}
}//外部中断3的中断服务函数
void EXTI3_IRQHandler(void)
{if(EXTI_GetITStatus(EXTI_Line3) == SET){PEout(13)=0;delay();PEout(13)=1;delay();/* 清空标志位,告诉CPU当前中断请求完毕,可以去响应新的中断请求思考题:若不清空标志位,会出现什么现象?*/EXTI_ClearITPendingBit(EXTI_Line3);}
}//外部中断4的中断服务函数
void EXTI4_IRQHandler(void)
{if(EXTI_GetITStatus(EXTI_Line4) == SET){PEout(14)=0;delay();PEout(14)=1;delay();/* 清空标志位,告诉CPU当前中断请求完毕,可以去响应新的中断请求思考题:若不清空标志位,会出现什么现象?*/EXTI_ClearITPendingBit(EXTI_Line4);}
}

----------------------

key.c代码

0x00优先等级最高

0x03等级最低

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

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

相关文章

html实现iframe全屏

前言 html浏览器全屏操作&#xff0c;基于jquery iframe全屏、指定标签全屏 实现 css /** 全屏*/ .lay-dbclick-box{position: relative;width: 100%;height: 100%; } .lay-dbclick-screen{position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 999999999…

pytorch里面的nn.AdaptiveAvgPool2d

今天遇到nn.AdaptiveAvgPool2d((None, 1)) AdaptiveAvgPool2d函数详细解释&#xff1a; 2D自适应平均池化&#xff08;2D adaptive average pooling&#xff09;是一种对输入信号进行二维平均池化的操作&#xff0c;输入信号由多个输入平面&#xff08;input planes&#xff0…

分布式技术

分布式没有权威的技术&#xff0c;只有实践经验和积累的组件。常见的分布式技术有发号机制、分布式数据库、分布式数据库事物、基于Redis的分布式缓存、分布式会话、分布式安全认证。 1、发号机制 在数据库&#xff08;关系数据库&#xff09;中&#xff0c;主键往往是一条记…

为什么学嵌入式还要学单片机和人工智能?

从企业用人需求的角度来看&#xff0c;许多企业在招聘嵌入式工程师时都希望其具备一定的技能要求。其中&#xff0c;熟悉STM32单片机开发、熟悉嵌入式Linux开发以及熟悉实时操作系统开发&#xff0c;如FreeRTOS等&#xff0c;是常见的要求。掌握这些技术点的课程将为学生提供更…

成都国际车展来袭:有颜值有实力 大运新能源两款车型备受关注

今年成都国际车展现场最大看点是什么&#xff1f;诸多实力车企汇聚一堂各显神通&#xff0c;形式各样的新能源车型更是吸晴无数&#xff0c;成为消费者的购车首选。老品牌、新势力的大运新能源独具匠心设计特色展台&#xff0c;旗下两款车型悦虎和远志M1重磅登场。两款车型既有…

【设备树笔记整理6】中断系统中的设备树

1 中断概念的引入与处理流程 1.1 中断处理框图 1.2 中断程序的使用 主函数() while(1) {do_routine_task(); }中断处理函数() {handle_interrupt_task(); }如何调用中断处理函数&#xff1f; 1.3 ARM对异常(中断)的处理过程 &#xff08;1&#xff09;初始化 ① 设置中断…

【算法题】2788. 按分隔符拆分字符串

题目&#xff1a; 给你一个字符串数组 words 和一个字符 separator &#xff0c;请你按 separator 拆分 words 中的每个字符串。 返回一个由拆分后的新字符串组成的字符串数组&#xff0c;不包括空字符串 。 注意 separator 用于决定拆分发生的位置&#xff0c;但它不包含在…

前端面试:【前端安全】安全性问题与防范措施

嗨&#xff0c;亲爱的前端开发者&#xff01;在构建Web应用程序时&#xff0c;确保安全性是至关重要的。本文将深入讨论前端开发中的安全性问题&#xff0c;并提供一些防范措施&#xff0c;以确保你的应用程序和用户数据的安全性。 前端安全性问题&#xff1a; 跨站脚本攻击&am…

线程安全问题(收集和记录)

线程安全和线程不安全的集合 两个例子讲解为什么线程不安全以及带来的问题 如何线程安全 加锁synchronized 根据情况判断锁class还是锁object, 有时候无脑锁class也不会带来性能消耗使用集合锁 public static List linkedList Collections.synchronizedList(new LinkedList…

Apollo自动驾驶:引领未来的智能出行

自动驾驶技术正日益成为当今科技领域的焦点&#xff0c;它代表着未来出行的一大趋势&#xff0c;而Baidu公司推出的Apollo自动驾驶平台则在这一领域中展现出强大的领导地位。本文将深入探讨Apollo自动驾驶技术的关键特点、挑战以及它对未来智能出行的影响。 Apollo自动驾驶平台…

【python脚本】cv2.putText不显示中文,显示为???????解决方案,亲测有效

【python脚本】cv2.putText不显示中文&#xff0c;显示为&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;解决方案&#xff0c;亲测有效。 text "选中目标区域增强后的\n空间频率是%s,\n信息熵是%s" % (spatialF(gray_over…

wx:for的使用和事件传参,解构赋值的应用

在页面的.js文件中创建了一个对象&#xff0c; 并且在页面的view中调用了两种不同的方法将对象中的元素显示出来&#xff01; 第2种代码要加强理解&#xff01;&#xff01;&#xff01; 小程序中的wx:if wx:elif wx:else 其实好像c语言中的 if-elif-else 在页面的.j…

一个专业级 AI 聊天浏览器,开源了!

公众号关注 “GitHubDaily” 设为 “星标”&#xff0c;每天带你逛 GitHub&#xff01; 在 AI 模型大爆炸的今天&#xff0c;我们每天都能在技术圈见证无数个大语言模型诞生&#xff0c;其诞生速度之快&#xff0c;着实让人看得目不暇接。 对于热衷于体验、调试、评测各种大模型…

【跟小嘉学 Rust 编程】十九、高级特性

系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…

Pandas由入门到精通-分层索引

采集的数据存储后通常会分为多个文件或数据库,如何将这些文件按需拼接,或按键进行连接十分重要。这节将介绍数据索引的复杂操作如分层索引,stack,unstack,seet_index,reset_index等帮助重构数据,数据的拼接如merge,join,concat,combine_first等帮助连接数据,以及数据透视表…

Pytorch-day08-模型进阶训练技巧

PyTorch 模型进阶训练技巧 自定义损失函数 如 cross_entropy L2正则化动态调整学习率 如每十次 *0.1 典型案例&#xff1a;loss上下震荡 1、自定义损失函数 1、PyTorch已经提供了很多常用的损失函数&#xff0c;但是有些非通用的损失函数并未提供&#xff0c;比如&#xf…

如何优化因为高亮造成的大文本(大字段)检索缓慢问题

首先还是说一下背景&#xff0c;工作中用到了 elasticsearch 的检索以及高亮展示&#xff0c;但是索引中的content字段是读取的大文本内容&#xff0c;所以后果就是索引的单个字段很大&#xff0c;造成单独检索请求的时候速度还可以&#xff0c;但是加入高亮之后检索请求的耗时…

开始MySQL之路——MySQL约束概述详解

MySQL约束 create table [if not exists] 表名(字段名1 类型[(宽度)] [约束条件] [comment 字段说明],字段名2 类型[(宽度)] [约束条件] [comment 字段说明],字段名3 类型[(宽度)] [约束条件] [comment 字段说明] )[表的一些设置]; 概念 约束英文&#xff1a;constraint 约束实…

GeoHash之存储篇

前言&#xff1a; 在上一篇文章GeoHash——滴滴打车如何找出方圆一千米内的乘客主要介绍了GeoHash的应用是如何的&#xff0c;本篇文章我想要带大家探索一下使用什么样的数据结构去存储这些Base32编码的经纬度能够节省内存并且提高查询的效率。 前缀树、跳表介绍&#xff1a; …

docker containers logs清理

容器的磁盘占用 每次创建一个容器时&#xff0c;都会有一些文件和目录被创建&#xff0c;例如&#xff1a; /var/lib/docker/containers/ID目录&#xff0c;如果容器使用了默认的日志模式&#xff0c;他的所有日志都会以JSON形式保存到此目录下。 /var/lib/docker/overlay2 目…