gc56198 发表于 2011-12-16 21:27:45

ADXL345,读得出ID号,读DataXYZ寄存器,怎么读都不对,读出的数据总是在几个数跳来跳去,而且

ADXL345,读得出ID号,读DataXYZ寄存器,怎么读都不对,读出的数据总是在几个数跳来跳去,而且与传感器姿态无关,就是把板子晃来晃去,读到得东西还是几个数跳来跳去(比如19844,255,6912),而且有的数明显不对了,比如19844.
关键是这里的数就这么几个,不随传感器的姿态变化。
怀疑是传感器被焊坏了,但是确实读的到ID(直接读,不初始化)。。。
而且好像初始化之后,读得ID也会不对,必须把先重新烧一个没有初始化的程序,然后把传感器板子断电放电,才行再读的到ID

小声说下。。。板子是用热转印做的,在焊芯片的时候。。热风枪吹得比较久,板子上有一个铜皮被烙铁一碰都掉了。。。

不知道有大侠碰到过这种情况没。。。

使用STM32模拟I2C读的,程序是在苹果猫大侠的模拟IIC程序的基础上面改了一下,封装了一下,会不会是时序问题?但是确实读的到ID

gc56198 发表于 2011-12-16 22:33:56

一小时顶一顶

kinsno 发表于 2011-12-17 01:10:18

ADI的ARM7当年也是玩的我一个痛不欲生死去活来。
我说一个我玩ADIS之MEMS的观点,这个东西,你一定要反复看PDF,才能看透问题,千万别指望一口吃成胖子。慢慢看,另外,读得出来ID,并不代表你能读得出来别的数。试着读一下温度,电压什么的。

还是那句话:一定要把PDF吃透。

反正ADIS的传感器,玩的挺累的,虽然每次都搞通,可都是很痛苦很纠结,玩通了,也没有一种畅快淋淳的感觉。

gc56198 发表于 2011-12-17 08:36:31

回复【2楼】kinsno
-----------------------------------------------------------------------

谢谢
这个好像不能读温度,全数字的,也没有电压。。
我再PDF上面都圈圈点点好多了。。。

gc56198 发表于 2011-12-17 09:11:28

找出原因了。。。
晕,竟然是因为I2C读得时候,前一次和后一次发送的器件地址改成一样了,应该是前一个写,因为后面要写寄存器地址,后一个读

但是非常奇怪,怎么会读的到ID?
同样的程序。。。
页: [1]
查看完整版本: ADXL345,读得出ID号,读DataXYZ寄存器,怎么读都不对,读出的数据总是在几个数跳来跳去,而且