adxl345

STM32读写ADXL345 中断功能

走远了吗. 提交于 2019-12-19 17:28:05
首先感谢网上朋友们的分享,我也贴出自己的源码,开源互助! 1、配置:可以换一个引脚,不知道为什么,总是要开始PC8和PC9相同配置,单片机才能进入中断,应该是单片机问题; //ÖжÏÅäÖà ADXL345_WriteByte(DATA_FORMAT , 0x29); delay345_ms(200); //Êä³öµÍµçƽÖжϣ¬13bit·Ö±æÂÊ ADXL345_WriteByte(BW_RATE , 0x09); delay345_ms(100); //Õý³£¹¦ÂÊ 50HzÊä³ö ´ø¿í25Hz ADXL345_WriteByte(POWER_CTL , 0x00); delay345_ms(100); //½øÈëstandby mode ADXL345_WriteByte(POWER_CTL , 0x28); delay345_ms(100); //²âÁ¿Ä£Ê½ ²»»á×Ô¶¯Ë¯Ãß //ÖÐ¶ÏµÍµçÆ½ ADXL345_WriteByte(INT_ENABLE,0x00); delay345_ms(200); //¹Ø±ÕÖÐ¶Ï ADXL345_WriteByte(0x24,0x02); delay345_ms(200); //¼¤»î˯ÃßactivityãÐÖµ,´óÓÚʱ´¥·¢Öжϣ¬2 - 2g ADXL345

Arduino GY85 I2C测试

安稳与你 提交于 2019-12-02 10:46:20
Arduino GY85 I2C测试 # include <Wire.h> # define ADXL345 0x53 # define HMC5883 0x1E # define ITG3205 0x68 /*-----------ADXL345矫正-----------*/ const float alpha = 0.5 ; double fXg = 0 ; double fYg = 0 ; double fZg = 0 ; /*--------------------------------*/ struct { int ACC_X ; int ACC_Y ; int ACC_Z ; } Accelerometor ; struct { int COM_X ; int COM_Y ; int COM_Z ; int ANGLE ; } Compass ; struct { int GYRO_X ; int GYRO_Y ; int GYRO_Z ; } AngleSpeed ; byte ACC_BUF [ 5 ] ; byte COM_BUF [ 5 ] ; byte ANG_BUF [ 5 ] ; void setup ( ) { Wire . begin ( ) ; Init_ADXL345 ( ) ; Init_HMC5883 ( ) ; Init_ITG3205 (

ADXL345代码

*爱你&永不变心* 提交于 2019-11-29 23:39:18
#include "math.h" #include "stm32f4xx.h" /******************ADXL345寄存器命令定义**********************/ #define DEVICE_ID 0X00 //获取器件ID,0XE5 #define THRESH_TAP 0X1D //敲击阀值 #define OFSX 0X1E //x轴调整偏移值 #define OFSY 0X1F #define OFSZ 0X20 #define DUR 0X21 #define Latent 0X22 #define Window 0X23 #define THRESH_ACK 0X24 #define THRESH_INACT 0X25 #define TIME_INACT 0X26 #define ACT_INACT_CTL 0X27 #define THRESH_FF 0X28 #define TIME_FF 0X29 #define TAP_AXES 0X2A #define ACT_TAP_STATUS 0X2B #define BW_RATE 0X2C #define POWER_CTL 0X2D #define INT_ENABLE 0X2E #define INT_MAP 0X2F #define INT_SOURCE 0X30