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

这篇具有很好参考价值的文章主要介绍了STM32——震动传感器点亮LED灯。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

震动传感器简单介绍

STM32——震动传感器点亮LED灯,stm32,嵌入式硬件,单片机

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

震动传感器与STM32的接线

STM32——震动传感器点亮LED灯,stm32,嵌入式硬件,单片机

编程实现

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

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

STM32——震动传感器点亮LED灯,stm32,嵌入式硬件,单片机

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

STM32——震动传感器点亮LED灯,stm32,嵌入式硬件,单片机

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

STM32——震动传感器点亮LED灯,stm32,嵌入式硬件,单片机 

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

STM32——震动传感器点亮LED灯,stm32,嵌入式硬件,单片机 STM32——震动传感器点亮LED灯,stm32,嵌入式硬件,单片机

 e.在NVIC中打开PA4的中断,使能中断。
STM32——震动传感器点亮LED灯,stm32,嵌入式硬件,单片机
f. 在Project Manager中设置工程名字、开发环境选择MDK-ARM,并且勾选以下两个选项

STM32——震动传感器点亮LED灯,stm32,嵌入式硬件,单片机 STM32——震动传感器点亮LED灯,stm32,嵌入式硬件,单片机

g. Generate Code

2、打开KEIL5工程

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

STM32——震动传感器点亮LED灯,stm32,嵌入式硬件,单片机

STM32——震动传感器点亮LED灯,stm32,嵌入式硬件,单片机

 b.将虚函数复制到main函数文件中,进行编写
STM32——震动传感器点亮LED灯,stm32,嵌入式硬件,单片机
 c.添加延时,接收到震动信号就亮1秒

但是延时有个坑!!!

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

STM32——震动传感器点亮LED灯,stm32,嵌入式硬件,单片机 STM32——震动传感器点亮LED灯,stm32,嵌入式硬件,单片机

 文章来源地址https://www.toymoban.com/news/detail-756383.html

到了这里,关于STM32——震动传感器点亮LED灯的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【江科大STM32合集】day2按键控制LED&光敏传感器控制峰鸣器

    运算放大器-在江科大51单片机b站视频(AD/DA)复习 原理:两个极端 同相输入端电压 》反相输入端 电压输出最大值 接Vcc 同相输入端电压《 反向输入端 电压输出最小值 接GNd LED.c用来存放驱动程序的主体代码 (ps:逻辑运算代码都在这 LED.h用来存放驱动程序可以 对外 提供的函

    2024年01月17日
    浏览(56)
  • STM32_ADC————ADC+DMA多路数据传输,看门狗中断,传感器控制LED

    一:介绍ADC与DMA的基本情况与初始化 二:利用ADC+DMA+看门狗中断+传感器控制LED灯代码 三:总结实验过程中碰到的错误与问题 通过DMA转运ADC的数据,设置ADC的中断看门狗阈值,当光敏传感器的ADC采样值在看门狗高低阈值中间,不触发中断,如果超过看门狗的高低阈值就会触发

    2024年02月04日
    浏览(45)
  • STM32-雨滴传感器

    目录 0 说明:  1 传感器介绍  2 代码说明    2.1 ADC初始化函数(adc.c)   2.2 GPIO初始化函数 2.3 主函数         本篇文章主要是说明怎么使用STM32单片机读取雨滴传感器采集到的数据,并且附带着STM32所需要的全部代码,所使用的雨滴传感器如下图所示。 附: 使用单片机

    2024年01月17日
    浏览(46)
  • STM32-光敏传感器实验

    光敏传感器的主要是光敏二极管,核心是PN结,利用了光电效应,对光强很敏感,有单向导电性,工作时需要加反向电压。光照越强,等效电阻越小。 实验要求通过ADC3通道6(PF8)采集光敏二极管的电压,然后转换为0~100的光纤强度值并显示在液晶屏上。 由下图可知对于的通

    2024年02月05日
    浏览(35)
  • STM32-土壤湿度传感器

    目录 0 说明 1 传感器介绍  2 代码说明   2.1 ADC初始化函数(adc.c)   2.2 GPIO初始化函数   2.3 主函数         本篇文章主要是说明怎么使用STM32单片机读取土壤湿度传感器采集到的数据,包括模拟和数字数据,并且附带着STM32所需要的全部代码,所使用的土壤湿度传感器如

    2023年04月09日
    浏览(40)
  • STM32——内部温度传感器实验

    内部温度传感器框图 具体介绍: 1、STM32F40X有一个内部的温度传感器,可以用来测量CPU及周围的温度(TA)。 2、该温度传感器在内部和ADCx_IN16(F40xx/F41xx)或者ADCx_IN18(F42xx/F43xx)输入通道相连接,此通道把传感器输出的电压转换成数字值。 3、温度传感器模拟输入推荐采样时间是

    2024年02月13日
    浏览(44)
  • STM32-风速传感器(ADC)

    目录 0 说明 1 传感器介绍 2 代码说明      2.1 ADC.c      2.2 adc.h     2.3 main.c          本篇文章主要是说明怎么使用STM32单片机读取风速传感器采集到的数据,读取方式是ADC,并且附带着STM32所需要的全部代码,所使用的风速传感器如下图所示。 附: 使用单片机STM32f103系

    2024年02月15日
    浏览(45)
  • STM32——超声波传感器

    需求: 使用超声波测距,当手离传感器距离小于 5cm 时, LED1 点亮,否则保持不亮状态   接线:     定时器配置: 使用 TIM2 ,只用作计数功能,不用作定时。 将 PSC 配置为 71 ,则计数 1 次代表 1us 。   编写微秒级函数: 1、总结 微秒级定时: 这个延迟函数的实现利用了定

    2024年02月05日
    浏览(42)
  • 玩转传感器——DHT11温湿度传感器(STM32版)

    DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产

    2024年02月03日
    浏览(46)
  • STM32F4_光敏传感器

    目录 1. 什么是光敏传感器、光敏电阻 2. 硬件分析 3. 实验程序 3.1 main.c 3.2 ADC3.c 3.3 ADC3.h 3.4 Lightsensor.c 3.5 Lightsensor.h 光敏传感器 也称为光电传感器。是利用光电器件把光信号转换成电信号的一种传感器。它的敏感波长在可见光波长附近,包括红外线波长和紫外线波长。光传感

    2024年02月05日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包