ART-PI添加MotionDriver2RTT,使用mpu6050.
之前买了一块Tthread开发板一直没有使用,最近想着做个平衡车玩,那就从陀螺仪开始撸代码了。
刚开始的时候,我太年轻,直接想用mpu6050的库,结果代码跑通后发现,数据简直不堪入目,传感器放着不动,数据都一直在飘。然后去找mpu6050解算的代码,结果发现官方软件包里竟然直接有相关的包,既然有轮子了,何必自己造,下面把整个过程记录一下,分享给大家。
首先就是创建一个工程。
选择添加后关闭,然后更多配置,如下图
默认没有选择示例,勾选上sample后
开始配置i2c,点击勾选i2c1,使能后点击全部保存配置。然后编译一遍工程。
发现有4个error,我们先不管警告,error先解决一下。
稍微有点c语言基础的就知道这个是说函数使用在声明前,说白了就是没有声明,我们找到相应文件写声明就可以了。
写上声明后,发现还有一个错误是库的问题,我百度了一下,有大佬解决,方法如下:
把原来的名字改成上图所示就可以了,这时候发现还有个错误。
就是mpu_init()函数和RTThread里面内存管理相关的库函数重名了。解决办法:
最好找个编辑器,搜索mpu_init(),然后把它和相应调用的地方全部换个名字,比如:mpu6050_init()
注意:一定不要把drv_mpu.c的换掉,自己区分,不然后果不可预知
然后编译通过。
然后报错是因为栈空间不足导致的,改一下即可。
然后大功告成!
效果如下:
至此完毕!
后面我会把PWM的配置以及编码器配置更新出来!