前言
LIS3DH三轴加速度专感器是ST公司推的一款宽电压,超低耗的加速度传感器,最低耗低至2uA,支持IIC/SPI等通信接口,支持单击,双击,*落体,6D运动/位置检测等工作模式,广泛应用于IOT设备。
本文将给大家演示用LIS3H加速度计实现运动检测,具体检测要求如下:
当设备运动时产生一个中断事件,通过INT1引脚产生一个低脉冲信号。
示例详解
基于硬件平台: 正点源子的stm32f4 探索者开发板,MCU 的型号是 STM32F4ZET6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。本示例所用的开发板及部分原理图:
-
- 关于CUBEMX工具及KEIL工具的操作将不再细讲,如果还有不熟悉的可以查看之前的教程文档。下面直接介绍工程配置:
-
-
- 系统时钟树
-
-
-
- RCC配置
-
-
-
- SYS配置
-
-
-
- IIC配置
-
-
-
- 引脚配置
-
EP0与PE1均是下降中断:
-
-
- 中断配置
-
-
-
- 堆栈配置,(可保持默认即可,也可按下图来配)
-
-
-
工程代码
- 加入已写好的LIS3DH.c及.h文件在工程中,在main.c 中加入如下图所示代码:
-
工程代码
在stm32f4xx_it.c文件中加入如下代码:
-
- 编译工程,调试代码,即可实现本实验的要求,注意本实验的核心代码在是LIS3dh.c 及 LIS3DH.h,读者可自行相看形实现。这里特别指出一点,很多同学会在按数据手册配置完对应的寄存器后没有第一时间先清除中断(如下图中红框所示操作),最后发现产生不了中断信号,浪费大量时间!
OK,本期实验完成!下期见!同时如果大家有什么疑问或是有想了解的其它内容,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,会有不定期技术干货推出!!
文中源码资料下载,在公众号里给十三发消息:
下载|LIS3DH
关注十三公众号