K60开发ADXL345笔记

        刚刚完成了一项工作,眼看着吃饭的时间就要到了,就写一篇最近在开发ADXl345中遇到的问题的博客吧!

       应用的MCU是freescale的K60,为了节省开发时间,直接在网上买的核心板,这样正好应用他们写的固件库。因为之前有做8位和16位的MCU,所以直接用库写不是太难。可是……

        问题就是出现在库的理解上。好像前面有点跑题(赶紧拉回来),转入正题。ADXL345的接口有两种:3线或者4线SPI、I2C。因为要根据ADXL345输出数据的频率确定通信的频率,所以通信的频率就不是很高,所以在此使用I2C开发,就相对简单。开发中遇到的问题主要有这样几个:

        从机的地址问题。说起来就是伤呀!我使用的固件库,是应用7位的地址,也就是将一般的8位地址左移一位之后的值。而我看到ADXL345给的是8位的地址,这样去读,怎么也读不出数据。后来根据freescale发的最新的固件库里对于一个三轴加速度计操作,其中有一个将地址左移的操作,这才将数据读出来。希望看到文章的孩纸不要再犯同样的错误呀!55555……

      读写数据延时问题。写数据延时的问题,在我之前转发的几篇博客中已经有介绍。接下来主要的问题就是读取数据的问题,根据adxl datasheet中的介绍,我尝试直接读取6个寄存器,只是在复位之后第一次能够读取,后面读到的就都是0了,看到网上有人说这个问题,但是没有解决。我在ADI的官方的论坛提了这个问题,还没有给出回复。希望谁知道告诉我,把我这疑问解决!每次只是读取一个数据之后也要加适当的延时,负责读取的数据不对(在这里我加的延时是100us,仅供参考,嘿嘿)。

      还有一个问题就是校准的问题了,将器件平放(校准X、Y)、垂直立着(校准Z),根据读取的数据进行偏移补偿,这样就OK了。

      嗯嗯,到了吃饭的时间了,餐厅的干活!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值