ADXL345,读得出ID号,读DataXYZ寄存器,怎么读都不对,读出的数据总是在几个数跳来跳去,而且
ADXL345,读得出ID号,读DataXYZ寄存器,怎么读都不对,读出的数据总是在几个数跳来跳去,而且与传感器姿态无关,就是把板子晃来晃去,读到得东西还是几个数跳来跳去(比如19844,255,6912),而且有的数明显不对了,比如19844.关键是这里的数就这么几个,不随传感器的姿态变化。
怀疑是传感器被焊坏了,但是确实读的到ID(直接读,不初始化)。。。
而且好像初始化之后,读得ID也会不对,必须把先重新烧一个没有初始化的程序,然后把传感器板子断电放电,才行再读的到ID
小声说下。。。板子是用热转印做的,在焊芯片的时候。。热风枪吹得比较久,板子上有一个铜皮被烙铁一碰都掉了。。。
不知道有大侠碰到过这种情况没。。。
使用STM32模拟I2C读的,程序是在苹果猫大侠的模拟IIC程序的基础上面改了一下,封装了一下,会不会是时序问题?但是确实读的到ID 一小时顶一顶 ADI的ARM7当年也是玩的我一个痛不欲生死去活来。
我说一个我玩ADIS之MEMS的观点,这个东西,你一定要反复看PDF,才能看透问题,千万别指望一口吃成胖子。慢慢看,另外,读得出来ID,并不代表你能读得出来别的数。试着读一下温度,电压什么的。
还是那句话:一定要把PDF吃透。
反正ADIS的传感器,玩的挺累的,虽然每次都搞通,可都是很痛苦很纠结,玩通了,也没有一种畅快淋淳的感觉。 回复【2楼】kinsno
-----------------------------------------------------------------------
谢谢
这个好像不能读温度,全数字的,也没有电压。。
我再PDF上面都圈圈点点好多了。。。 找出原因了。。。
晕,竟然是因为I2C读得时候,前一次和后一次发送的器件地址改成一样了,应该是前一个写,因为后面要写寄存器地址,后一个读
但是非常奇怪,怎么会读的到ID?
同样的程序。。。
页:
[1]