STM32——震动传感器点亮LED灯

震动传感器简单介绍

若产品不震动,模块上的 DO 口输出高电平;
若产品震动,模块上的 DO 口输出低电平,D0-LED绿色指示灯亮。

震动传感器与STM32的接线

编程实现

需求:当震动传感器接收到震动信号时,使用中断的方式点亮led1。

1、打开cubeMX
a.在SYS中选择调试方式为串行线调试。

b.在RCC(复位和时钟控制)中选择 HSE(高速时钟)为crystal resonator(晶振)。

c.在CLOCK Configuration中沿着红色的主线依次选择,并将频率改为72MHZ。

 

d.在GPIO中选择PB8(LED1)为GPIO_output,PA4为中断方式触发,选择GPIO_XETI 4,并且因为震动传感器震动,模块上的DO口输出低电平,所以将GPIO_mode设置为下降沿触发,由于一开始需要让led1是灭的状态,所以设置PB8的GPIO output level为HIGH。

 

 e.在NVIC中打开PA4的中断,使能中断。
f. 在Project Manager中设置工程名字、开发环境选择MDK-ARM,并且勾选以下两个选项

 

g. Generate Code

2、打开KEIL5工程

a.先进行编译,然后找到EXTI 4中断服务程序,选中调用的函数点击F12,跳转到被调用函数

 b.将虚函数复制到main函数文件中,进行编写
 c.添加延时,接收到震动信号就亮1秒

但是延时有个坑!!!

如果直接在中断服务函数里调用 HAL_Delay 函数,则会造成系统卡死。
原因:程序初始化时 默认把滴答定时器的中断优先级设为最低 ,其它中断源很容易打断它导致卡
死。
解决:在 main 函数里使用以下函数提高滴答定时器的中断优先级(提升至 0 ):
HAL_NVIC_SetPriority ( SysTick_IRQn , 0 , 0 );
并且将 EXTI4 的中断优先级设置比滴答定时器的中断优先级小,比如 2

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

同旺科技 USB TO RS-485 定制款适配器--- 拆解(四)

内附链接 1、USB TO RS-485 定制款适配器 ● 支持USB 2.0/3.0接口,并兼容USB 1.1接口; ● 支持USB总线供电; ● 支持Windows系统驱动,包含WIN10 / WIN11系统32 / 64位; ● 支持Windows RT、Linux、Mac OS X、Windo…

Windows Installer服务启动不了问题解决办法

本章教程主要提供在win10和win11 系统服务Windows Installer,处于灰色状态,无法启动的时候的一种解决方法。 目录 解决办法 1、进入注册表 2、找到以下路径 解决办法 1、进入注册表 regedit 2、找到以下路径 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00…

bert其他内容个人记录

Pre-training a seq2seq model BERT只是一个预训练Encoder,有没有办法预训练Seq2Seq模型的Decoder? 在一个transformer的模型中,将输入的序列损坏,然后Decoder输出句子被破坏前的结果,训练这个模型实际上是预训练一个…

OpenHarmony北向-让更广泛的应用开发者更容易参与

一、标准系统的体验 按照官方文档指导,这样操作,OH标准系统开发板就可以运行开发者开发的OpenHarmony应用了。 二、实际情况 按照开发文档上的说明,肯定是装不上的。因为OH不同的发行版,不同发行板不同的设备,IDE&…

使用Java8的Stream流的Collectors.toMap来生成Map结构

问题描述 在日常开发中总会有这样的代码,将一个List转为Map集合,使用其中的某个属性为key,某个属性为value。 常规实现 public class CollectorsToMapDemo {DataNoArgsConstructorAllArgsConstructorpublic static class Student {private…

java设计模式学习之【装饰器模式】

文章目录 引言装饰器模式简介定义与用途实现方式 使用场景优势与劣势装饰器模式在Spring中的应用画图示例代码地址 引言 在日常生活中,我们常常对基本事物添加额外的装饰以增强其功能或美观。例如,给手机加一个保护壳来提升其防护能力,或者在…

fastapi.templating与HTMLResponse

要声明一个模板对象,应将存储html模板的文件夹作为参数提供。在当前工作目录中,我们将创建一个 “templates “目录。 templates Jinja2Templates(directory“templates”) 我们现在要把这个页面的HTML代码渲染成HTMLResponse。让我们修改一下hello()函…

软考高项第四版五组十域表+ITTO背诵笔记及助记

基于第四版做的笔记,助记是自己编的 还是得靠理解记忆,下面是文档,也用anki制作了记忆卡片,需要的可以自行导入卡包

使用NimoShake将数据从AWS DynamoDB迁移至阿里云MongoDB

本文介绍从AWS DynamoDB到阿里云MongoDB的迁移框架。 它概述了以下步骤: 在阿里云上配置云数据库MongoDB版并应用公网终端节点在 AWS EC2 上安装 Nimoshake将AWS EC2访问阿里云MongoDB版列入白名单配置 Nimoshake 并开始迁移过程验证目标数据库上的增量数据 1. 创…

有什么可视化数据管理工具?

有什么可视化数据管理工具? 相信大家对数据分析并不陌生。数据可视化不仅可以使得数据更加直观、易于理解,而且可以帮助用户发现数据中的潜在规律和趋势。 但是,对于不熟悉编程的用户来说,如何将枯燥的大数据转化为可视化的图和…

苹果ios的系统app应用WebClip免签应用开源及方式原理

在移动设备上,为了方便访问我们经常使用的网站或服务,我们经常会希望将其添加到主屏幕上,以便快速启动。虽然我们可以通过使用浏览器书签实现这一目标,但添加一个图标到主屏幕上,使得它看起来与原生App无异&#xff0c…

数字工厂时代,如何实现3D数据访问与发布、WEB大模型可视化?

Tech Soft 3D的HOOPS 3D CAD SDK为现代工厂工作流程奠定了基础,通过最快、最准确的CAD数据访问和动态3D可视化支持数字孪生、机器人仿真、设计、流程和规划、IIoT和操作辅助应用程序。 本文将和您详细探讨。如何利用HOOPS技术来增强您的应用程序。 HOOPS_HOOPS试…

点滴生活记录1

2023/10/10 今天骑小电驴上班,带着小鸭子一起。路上的时候,我给小鸭子说,你要帮我看着点路,有危险的时候提醒我,也就刚说完没几分钟,一个没注意,直接撞到一个拦路铁墩子上,车子连人歪…

Django 模型操作(六)

Django通过Model操作数据库, 不管你数据库的类型是MySql或者Sqlite, Django自动帮你生成相应数据库类型的SQL语句,所以不需要关注SQL语句和类型,对数据的操作Django帮我们自动完成。只要会写Model就可以了。 django使用对象关系映射 (Object Relational Mapping, 简称ORM)框…

Flink State 状态原理解析 | 京东物流技术团队

一、Flink State 概念 State 用于记录 Flink 应用在运行过程中,算子的中间计算结果或者元数据信息。运行中的 Flink 应用如果需要上次计算结果进行处理的,则需要使用状态存储中间计算结果。如 Join、窗口聚合场景。 Flink 应用运行中会保存状态信息到 …

清新脱俗的Notes主页

大家好,才是真的好。 作为Notes客户端重度用户,我个人非常喜欢Notes客户机,平时都在使用。对于另一些Notes用户,喜欢Notes的人非常喜欢,而且还知道它非常强大,可以进行很多定制化。 今天我们来讲的就是No…

【MATLAB】SSA+FFT+HHT组合算法

有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 SSAFFTHHT组合算法是一种基于奇异谱分析(SSA)、快速傅里叶变换(FFT)和希尔伯特-黄变换(HHT)的组合算法。 其中&am…

【CentOS8】使用 Tomcat 部署 Java Web 项目(使用 sdkman)

文章目录 配置 Tomcat将 Tomcat 启动命令设置为 Linux 自定义服务给 Tomcat 设置管理员账号密码IDEA 打包 Java web 项目 我是使用 sdkman 下载的 jdk 和 tomcat,所以接下来的部署配置都是在 sdkman 构建的环境的。想要知道如何下载 sdkman 可以看看这篇文章 —…

操作符(原码反码补码)

目录 前言&#xff1a; 原反补码&#xff1a; 位操作符&#xff1a; &#xff06; &#xff5c; &#xff3e; &#xff5e; >> << 总结&#xff1a; 逻辑操作符 && || 其他操作符&#xff1a; sizeof -- () &#xff1f;&#xf…

数据仓库与数据挖掘复习资料

一、题型与考点[第一种] 1、解释基本概念(中英互译解释简单的含义)&#xff1b; 2、简答题(每个10分有两个一定要记住)&#xff1a; ① 考时间序列Time series(第六章)的基本概念含义解释作用&#xff08;序列模式挖掘的作用&#xff09;&#xff1b; ② 考聚类(第五章)重点考…