求教深度传感器 MS5837 怎么推算深度?

请问测量出来了温度还有压力,然后怎么推算出深度呀?

温度是进行修正的,当然也可以当温度计用。
岸上测一个压力,水里测一个压力。两者相减就是压力差,10米一个大气压,就能推算多少深度了

1 个赞

但是岸上和水里的温度不是不一样吗?没影响吗?

我记得温度主要是来修正压力,压力决定深度。
如果你要求不高的话,直接读压力就可以了,很多水深传感器压根没有温度修正。

1 个赞

哦哦,那我测出压力是157288,它该怎么转换呀?

((测得水深压力)-(岸上压力,大概在101300左右))/(1000*9.8),

1 个赞

岸上压力可以算作标准大气压吗?还是岸上压力也要自己测?

我都是按照101300来算的。

不对哦,测出来的水深压力-岸上压力,然后除以10就是水的深度吗?

1 个赞

(202600-101300)/1000/9.8=10.3左右,也就是说大约10米一个大气压。

1 个赞

哦哦,懂了懂了。谢谢啦

//IO方向设置
//#define SDA_IN() {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=8<<12;}
//#define SDA_OUT() {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=3<<12;}
能请教一下这两句话是怎么设置IIC的SDA吗?如果我SDA接的是PB7,那该如何设置?麻烦你了。刚入门stm32,不是很理解。

每个IO引脚功能是可以复用的,需要设置在相应功能状态才能正确工作。

所以不能按照例程的来弄咯,例程的是推挽输出的,要改为复用推挽输出?

IIC有软硬之分,你可以仔细研究下那位网友采用的方式,粗看可能是采用了普通IO模拟的方式