当前位置: 首页 > news >正文

基于STM32HAL库判断传感器数据和系统定时器外部中断

        1,传感器

        我们常见的传感器模块有光敏电阻传感器,反射传感器,热敏电阻传感器,火焰传感器等。以光敏电阻传感器为例,光敏电阻传感器的详细见下图:

我们在这里使用的是传感器模块的DO端来进行对传感器数据的简易收集也就是高低电平的判断,通过GPIO检测DO接口的电平,来进行LED的点亮,CubeMX配置和HAL库程序如下:

其中的BEEP和LED是同一个引脚,Sensor引脚为检测传感器DO引脚的电平变化的引脚。

2.系统定时器中断

        系统定时器的基本介绍如下:

了解了系统定时器的概念我们来看看中断的概念:

在CM3内核中有着很多的中断,那么对于这些中断怎么来管理呢,我们就要来了解一些嵌套中断向量控制器如下:

下面我们通过使用系统时钟中断来在中断中实现LED灯一定时间间隔的闪烁,程序如下图所示:

3.外部中断

        外部中断通过来对输入信号上升沿和下降沿的检测实现中断产生,对于外部中断有一个专门的控制器外部中断控制器,来看看详细介绍:

EXTI有20个中断/事件线,每个GPIO都可以设置为输入线占用EXTI0到EXTI15,但是对于每一个GPIO口都有特定的EXTI配置,具体如下表:

可见在该内核中有着这么多的中断,当这些中断同时发生时应该怎么处理呢,我们就可以通过设置中断抢占优先级和响应优先级来进行中断优先级处理的配置。具体分组如下:

数字越小优先级越高,抢占优先级高的可以打断抢占优先级低的,响应优先级高的不能打断响应优先级低的,中断配置的内部框图如下:

下面我们用HAL库来实现一个外部中断按键点灯的功能,CubeMX的配置和程序如下所示:

在这里我们可以看到我们在main函数中是通过了在Callback函数中来进行程序编写来是实现功能的,该函数叫做回调函数,下面我们来了解一下这个函数:

http://www.dtcms.com/a/545510.html

相关文章:

  • 仓颉语言中的成员变量与方法:深入剖析与工程实践
  • JavaScript是如何执行的——V8引擎的执行
  • GEO:AI 时代流量新入口,四川嗨它科技如何树立行业标杆? (2025年10月最新版)
  • 【牛客刷题-剑指Offer】BM24 二叉树的中序遍历:左根右的奇妙之旅(递归+迭代双解法详解)
  • 宝山网站建设哪家好平面设计免费模板网站
  • 腾讯云 怎样建设网站免费自助建站工具
  • elasticsearch中文分词器插件下载
  • 【开题答辩全过程】以 叮叮网上图书销售管理系统为例,包含答辩的问题和答案
  • 2025—2028年教育部面47项白名单赛事汇总表(正式版)
  • IPython.display 显示网页
  • Excel怎么根据身份证号码来计算年龄?
  • 江阴网站网站建设免费的舆情网站
  • 服务间的通信之gRPC
  • php做电商网站开题报告wordpress输密码访问
  • Mybatis中# 和 $的区别
  • IDEA开发常用快捷键总结
  • SAP HANA数据库HA双机架构概念及运维
  • Blender 4K渲染背后的技术挑战
  • 镇江建设集团网站扁平化wordpress
  • 测试开发话题05---用例篇(2)
  • 做个网站多少费用asp学习网站
  • 基于电鱼 ARM 工控机的井下设备运行状态监测方案——实时采集电机、电泵、皮带机等关键设备运行数据
  • 【代码审计】Doufox v0.1.1 任意文件读取 分析
  • 做php网站的环境微信网站小游戏
  • 做网站基本要求wordpress哪些文件需要给777
  • 不练不熟,不写就忘 之 compose 之 动画之 animateFloatAsState动画练习
  • 做物流网站的图片素材沈阳公司网站
  • 动态增减输入框并做校验
  • Matlab 开启并行池
  • 仓颉内存分配优化:从分配器到无分配编程的演进