做了新板子,程序只改动了gpio口相关的代码,别的没动。程序没有使用dmp和角速度加速度,只是用了读取加速度的原始数据。可是在新板子上,数据读取的完全不正确。
理论上芯片丝印面朝上水平放置,设置为2个量程,acc_z = 16384 (=1g), acc_x = 0, acc_x =y。在原子的开发板上实际数据接近于这个值,实际值大概是:
aacx is 1186, aacy is 314 ,aacz is 15498
aacx is 1190, aacy is 286 ,aacz is 15522
aacx is 1182, aacy is 282 ,aacz is 15516
aacx is 1182, aacy is 284 ,aacz is 15522
而在新板子1上,读取的数值大概是:
aacx is -7818 ,aacy is -15960 ,aacz is 9966
aacx is -8294 ,aacy is -15996 ,aacz is 8962
aacx is -7628 ,aacy is -15864 ,aacz is 9272
aacx is -7982 ,aacy is -16386 ,aacz is 8942
aacx is -8996 ,aacy is -17122 ,aacz is 9398
aacx is -8444 ,aacy is -16756 ,aacz is 8468
新板子2上,读取的数据大概是:
aacx is 1538 ,aacy is -9978 ,aacz is 10986
aacx is 1720 ,aacy is -10124 ,aacz is 11068
aacx is 1984 ,aacy is -10606 ,aacz is 11970
aacx is 1034 ,aacy is -8962 ,aacz is 12046
aacx is 1858 ,aacy is -10632 ,aacz is 11448
原理图如下: