简介
ADXL345是一种三轴加速度计。
具有+/-2g,+/-4g,+/-8g,+/-16g可变的测量范围;最高13bit分辨率;固定的4mg/LSB灵敏度;3mm*5mm*1mm超小封装;40-145uA超低功耗;标准的I2C或SPI数字接口;32级FIFO存储;以及内部多种运动状态检测和灵活的中断方式等特性。
使用目的:
1、读取加速度
2、让单片机和加速度计ADXL345处于睡眠状态,当该加速度计被摇一摇的时候,触发最大阈值,从睡眠模式唤醒并从中断引脚输出高电平唤醒单片机。
主要学习方法:
看数据手册中的寄存器来写代码。
这个芯片有中文的数据手册,看起来比较爽,但有的翻译怪眉日眼的,不是很明确,有的地方写的也不是很明确,我会在后面把一些不是很好看的寄存器写出来。
开发环境
使用STM32单片机,在KEIL环境C语言编程
正常使用,读取加速度
直接看代码吧,不详细说了
void ADXL345_Init(void)
{
unsigned char devid = 0, val = 0;
DelayUs(300);
I2C_ReadByte(ADXL345_ADDRESS, 0x00, &devid); //读ID 且每次读写之前都需要读ID
DelayUs(300);
val = 0x2B;
I2C_WriteByte(ADXL345_ADDRESS,