Vimman's Sky https://bbs.21ic.com/?194686 [收藏] [复制] [RSS] 如何把一件简单的事情做得复杂起来呢?请您仔细阅读我的blog。

日志

终于搞定STM32的SPI控制器读写L3G4200D和ADXL345

已有 2722 次阅读2012-1-12 12:21 |系统分类:传感与控制| STM32, SPI, L3G4200D, ADXL345

在网上搜到的帖子里很多人是用STM32的I2C来访问L3G4200D和ADXL345,很少有SPI方式读写的。由于在设计前只考虑了MEMS数据读取的速度,而没有考虑难度;此前也一直没用过STM32;因此“不幸”将两个MEMS连到了STM32的SPI,前者占SPI1,后者占SPI2。刚开始调试用硬件SPI控制器,偶尔能读到他们的DeviceID。后来干脆罢工了,甚至程序会死在等待状态置位的地方。万般无奈,以为是焊接不良;改写代码成GPIO模拟SPI时序的方式,发现模拟SPI时序,两个MEMS的读写都很正常,排除了焊接问题。晚上读了一个网友的在CC2430上的调试笔记,受到一些启发;因此又回过头对比两个程序的时序到底错在哪里。经过两天的斗争,终于搞定了使用SPI控制器读写两个MEMS的程序。


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)