Locale Icon
English
EngineerZone
EngineerZone
中文资源库
  • Log In
  • User
  • Site
  • Search
OR
Ask a Question
  • 产品和应用

    产品和应用

    • 放大器专区
    • 精密转换器专区
    • 音频专区
    • ADE电能计量专区
    • MEMS专区
    • 生物/电化学/磁场/温度传感器专区
    • 接口和隔离专区

     

    • Power 中文专区
    • ADUC微处理器专区
    • 时钟与定时
    • 开关和多路复用器专区
    • 温度传感器
    • 基准电压源专区

     

    • 嵌入式安全与1-Wire
    • Trinamic 运动控制和电机驱动
    • 能源存储系统(ESS)和电池管理系统(BMS)
    • 边缘人工智能SOC
    • 通用SOC/MCU
    • GMSL

    查看全部
  • 教育中心

    教育中心

    • 资源库
    • 技术支持参考库
    • 在线研讨会
  • 活动中心

    活动中心

    • 论坛社群活动
    • 论坛激励活动
中文资源库
  • 中文社区
中文资源库
文档 [征文]STM32驱动ADXL345加速度成功
  • 问答
  • 讨论
  • 文档
  • Tags
  • More
  • Cancel
  • 文档
  • 3月19日石家庄现场研讨会火热报名中~~~
  • 50个典型经典应用电路实例分析(免费下载)
  • ADI 产品介绍及其在工业控制及新能源领域的应用
  • ADI 在工业、医疗领域的应用与技术研讨会(苏州,8月20日)
  • ADI 技术论坛——技术学习、分享交流、设计参考、问题求助的好平台
  • ADI 新能源技术应用解决方案研讨会
  • ADI专家面对面(南昌站)开始报名
  • ADI专家面对面(泉州站)
  • ADI中文技术论坛常见问题及发帖小窍门
  • ADI在工业和通信领域的产品与解决方案研讨会
  • ADI在线设计峰会2013
  • ADI年度贺岁片——指纹机拆机
  • ADI微信开通,不一样的渠道,不一样的精彩
  • ADI技术论坛——技术学习、分享交流、设计参考、问题求助的好平台
  • ADI模拟技术训练营-西安站讲义(超详尽版,不能不看)
  • ADI荣膺2013年度电子产品世界编辑推荐奖双料大奖
  • ADI设计峰会2013
  • ADI车载信息娱乐主机解决方案
  • ADI马达控制与工业领域应用专题研讨会(北京/深圳)
  • ADI高性能模拟和数字产品技术应用研讨会
  • [征文] 我与ADI的那场“邂逅”
  • [征文]STM32驱动ADXL345加速度成功
  • 【分享】如何提高功率因数的方法
  • 【图说新闻】ADI:在技术创新中强调市场思维
  • 【论坛精华帖分享】Kicad原创视频教程
  • 一个硬件高手的设计经验分享
  • 一种基于MODBUS协议的工业控制系统设计
  • 上电复位电路的使用策略,你清楚吗?
  • 世上最伟大的十个公式(转)
  • 世健公司提供ADI汽车传感器和传感器接口解决方案
  • 亲,我们搬家啦~~
  • 从名称认识电容在电路中的作用
  • 你属于哪种加班类型?
  • 信号链基础知识之几个关键的基本概念(zt)
  • 做一个受领导待见的员工(ZT)
  • 做硬件工程师的感触
  • 几种传感应用及信号放大方案分析
  • 利用视觉ADAS系统解决行车安全
  • 单片机硬件设计的经验总结
  • 可穿戴医疗设计,刚需你可知?
  • 基于LabVIEW 的Modbus 串口通讯协议的实现
  • 基于MODBUS总线多功能电力仪表远程通讯的软件开发技术
  • 大家说说,为嘛咱们更关注参考设计而不是datasheet?
  • 如何开始ADI DSP的学习(转)
  • 小巧、低功耗的运动监测解决方案——ADI EVAL-ADXL362Z-DB开发板评测
  • 工程师的日常生活——ADI应用工程师IanB专访
  • 平安和吴莫愁的好声音的傅立叶分析
  • 微信焦点(第10期):断电还是关断?这真是个问题!
  • 怎样去开发产品设计电路?——电子产品开发及电路设计的流程
  • 技术支持论坛三重奖——注册、发帖、跟帖, 步步好礼
  • 新手必读:官网登陆论坛入口说明
  • 无源元件并非真的“无源”,也有他温柔的一面
  • 最新ADI官方中文技术资料更新 (2014年4月)
  • 最新中文资料更新20150717
  • 本周微博有奖活动——聊聊你熟悉的ADI  DSP,就有机会获得Haers/哈尔斯手持双层保温瓶!
  • 模拟前端ADAS1000常见问答汇总
  • 模拟电子基础知识200例(PDF文档)
  • 模拟电路--晶体管电路设计与制作
  • 模拟电路设计经验12条(转帖)
  • 模电学习的一些经验(转)
  • 电路与人生(ZT)
  • 电阻的用法你真的懂了吗?[ZT]
  • 给年轻电子工程师的十大忠告
  • 转载,使用Ultra Librarian转换芯片的Altium Designer封装格式
  • 连环画——吐槽那些年我们的论坛求助
  • 通俗易懂!大牛给你介绍《信号与系统》【ZT】
  • 问题: 今天遇到:LIBCD.lib(crt0.obj) : error LNK2001: unresolved externa
  • 高端访谈:物联网时代的ADI新思维

[征文]STM32驱动ADXL345加速度成功

[征文]STM32驱动ADXL345加速度成功 by Viola

这段时间比较忙,一直没来得及碰它们,前两天抽空用STM32驱动成功,发上代码与大家共享

void ADXL345_Init(void)
{
IWriteByte(ADXL345,0x2D,0x08);
IWriteByte(ADXL345,0x2C,0x0C);//Rate: 200Hz
IWriteByte(ADXL345,0x31,0x01);//Data Format: 8g right justified   128=1g
IWriteByte(ADXL345,0x2E,0xE4);//Int En: Data Rdy, Single Tap, Doulbe Tap,Free fall
IWriteByte(ADXL345,0x2A,0x01);//TAP_AXES:TAP_Z enable
IWriteByte(ADXL345,0x1D,0x20);//Tap Threshold: 2g(62.5mg/LSB) 62.5mg*32=2g
IWriteByte(ADXL345,0x28,0x09);//FreeFall Threshold: 600mg;
IWriteByte(ADXL345,0x29,0x14);//FreeFall Timing:100ms
IWriteByte(ADXL345,0x21,0x50);//Dur:50ms(625us/LSB)
IWriteByte(ADXL345,0x22,0x20);//Latent: 40ms(1.25ms/LSB)
IWriteByte(ADXL345,0x23,0xF0);//Window: 300ms
}
bool fADXL345_GetREGISTERData(ADXL345_TYPE* zdxl345)
{
u8 buff[1] = {0};

IReadStr(ADXL345,0x00,buff,1);//get device ID first
zdxl345->DevID = buff[0];
IReadStr(ADXL345,0x30,buff,1);//clear interrupt;
zdxl345->INT_Source = buff[0];
IReadStr(ADXL345,0x2C,buff,1);//clear interrupt;
zdxl345->RATE = buff[0];

if(zdxl345->DevID == 0xE5 && zdxl345->INT_Source == 0x02 && zdxl345->RATE == 0x0A)
{
  return TRUE;//直接读取寄存器的值,与默认配置完全符合则证明模块上电正常,数据口读写正常
}
else
  return FALSE;
}

void fADXL345_XYZdata(ADXL345_TYPE* zdxl345)
{ 
u8 buff[2] = {0};

fADXL345_GetREGISTERData(zdxl345);
ADXL345_Init();
while(1)
{
  IReadStr(ADXL345,0x32,buff,2);//0x32(MSB) 0x33(LSB)
  zdxl345->DataX = (buff[1] << 8) | buff[0];//LSB<<8+MSB
  IReadStr(ADXL345,0x34,buff,2);
  zdxl345->DataY = (buff[1] << 8) | buff[0];
  IReadStr(ADXL345,0x36,buff,2);
  zdxl345->DataZ = (buff[1] << 8) | buff[0];
} 
}
这里我用的上模拟IIC,刚开始用硬件IIC,总是出现莫名其妙的问题,后来听说STM32的iic有问题,就改用模拟,一切正常。有空再用SPI来驱动下试试,欢迎大家交流~~~

  • Share
  • History
  • More
  • Cancel
Related
Recommended
analog-devices logo

About Analog Devices

  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue

Get the Latest News

Stay up to date with our latest news and articles about Analog Devices' products, design tools, trainings, and events.

Sign Up Now
  • Instagram page
  • Twitter page
  • Linkedin page
  • Youtube page
  • Facebook
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • ADI Community User Forum Terms of Use
  • Cookie Settings
沪ICP备09046653号-1

©2024 Analog Devices, Inc. All Rights Reserved

analog-devices

About Analog Devices

Down Up
  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

Down Up
  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue

Get the Latest News

Stay up to date with our latest news and articles about Analog Devices' products, design tools, trainings, and events.

Instagram page Facebook Twitter page Linkedin page Youtube page
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • ADI Community User Forum Terms of Use
  • Cookie Settings
沪ICP备09046653号-1

©2024 Analog Devices, Inc. All Rights Reserved