
HELLO,最近事一大堆,周末跑来加班调程序。由于LSM6DSL这个传感器资料真的少之又少,在ST官网下了SDK居然还不带驱动,一大堆东西让人看得眼花缭乱,去网上收这个资料也几乎没人愿意来吃这个螃蟹,没办法被逼无奈到处问。最后找到了ST代理凯文要了一分驱动代码,打开我顿时崩溃了,写的五花八门几千行代码都不知道写的什么玩意儿。最后在静下心来去找了一分LSM6DS3的demo发现寄存器基本上是一模一样,于是照葫芦画瓢,终于小有陈果古来贡献给大家以便大家开发。这款LSM6DSL的姿态传感器完全优越于MPU6050可以选择低功耗,还能计步数用于可穿戴的设备上可是不二选择。同时支持两种通信方式SPI和IIC,通信方式不同也就决定了外部的电气属性设计也不一样,不然通信会有干扰,具体手册讲得很清楚了,可以仔细阅读参考。同时SPI的接线方式也有三线四线之分,具体手册P20页有详细介绍,下面是对应截图: 大家最在意的恐怕就是姿态MEMS的初始化了吧,他和MPU6050有本质的区别,因为这个需要在INTx(X=1,2)设置出发中断唤醒运行的,这里我就不截图了,我程序里面有介绍,大家可以一步一步去找到定义。读取加速度和陀螺仪的方式和MPU6050一模一样的,都是通过寄存器来获取。下面就是我调试好了的LSM6DSL的数据量输出: 好了,就讲这么多了,不懂得可以在下面私下提问我会一步一步来回答大家的疑问的。现在传上datasheet和我修改好的程序。 |
点评
这个传感器的资料确实不多,社区论坛上有中文的手册,结合楼主分享的例程,可以快速上手了,感谢分享!
之前用过这个芯片踩到了坑后来搁置了,现在又用到了这款芯片,感谢大佬的指导。