#259 难怪你没女朋友
通讯地址错了?严格来说,单片机系统中iic总线若是要串联多片芯片通信时,最基本的命令操作流程就是发送器件地址,器件内部的操作地址和需要操作的命令,若是器件地址错了,后面的两个数据就都会是摆设。
mpu9150这个陀螺仪是通过内部磁场相对于地磁变化的改变来感应各轴加速度的,内部可以通过iic总线直接读取因磁场变化而改变电压的ad值,ad值有四组,这四组数据名为四元数,读出这些数据后,经过软件上的滤波和欧拉角融合计算,就可以得到芯片三维空间上的xyz轴上的姿态,同时,也可以得到三围方向的加速度和角速度。
同时,也可以通过读取第五组数据,取得电子罗盘的对应地磁的方向角。
完成这一切,都需要先要找到器件地址,然后再往相关的寄存器里发送指令,随后芯片才会把数据返回回来。
但是,因为mpu9150芯片内部还自带了一个数据处理器,名字叫dmp,就是运动处理器,这个处理器能够直接帮助处理器完成需要消费大量运算资源的四元数姿态融合过程,直接给处理器返回姿三轴姿态角度、三轴加速度,三向加速度和地磁角。是一个很方便的厉害的工具。
好吧,说了这么多。蓝泽光只想表明一件事:那就是董晨学长你确实是弄错了。
“怎么可能!”他站起来一副就要和蓝泽光撕逼的样子。
不过轮无力,他这一个常年缺乏锻炼的弱鸡程序狗。怎么可能能撼动蓝泽光?
“可不可能改一改就知道了!”蓝泽光露出一副挑战的笑容,然后就在键盘上敲打了几下,把程序预编译宏命令的器件地址改掉,然后就摁下了编译按钮。
“卧槽都叫你不要改我程序了,等下子你改得回来吗?你乱弄什么%!#¥……”
后面的话蓝泽光就自动忽略了。虽然不能说人家逗比,但蓝泽光理解一个程序猿的幸苦,一般是不希望别人来乱改自己辛辛苦苦写的程序的。不过蓝泽光看到这套程序,里面有一大堆的英文注视。就早知道是移植来的。
虽然移植也需要时间,但至少不会那么辛苦……
蓝泽光鄙夷了一下,这时候程序编译就完成了。0error,9p控制器直接反馈回来的姿态数据,一些都很和谐。
“……”董晨瞪呆了眼睛。
当然,他是不会不服的。程序员除了没有女朋友,还有一个特质——就是对技术的狂热。
“你这是怎么做到的?”这位学长,一下子就扫除了之前的烦躁,一下子就狂热凑到了蓝泽光的面前。然后,就是程序猿只见的话题了。十分钟后,蓝泽光讲清楚了问题的所在,然后就从包包里抽出了u盘,说。
“学长,程序我可以拿走吧!”
“哦……”董晨还在蓝泽光的清晰的讲解中回味无穷。然后听到蓝泽光变换话题,才猛地一惊。
“我……我去!你怎么可能会能找到这个bug!”(未完待续)