基于正点原子STM32F103精英板IIC实验的MS5611气压计的使用

基于正点原子STM32F103精英板IIC实验的MS5611气压计的使用

MS5611是一款气压计,能够提供高精度的气压值与温度值,这次做项目正好需要用到这款传感器,包括之前也没好好学习用过IIC,所以写下博客记录一下。

如果有需要使用的朋友可以去https://download.csdn.net/download/a792544191/12115530下载,我把代码资源放到里面了,如果是STM32F103精英板的,在IIC1上接上模块就能直接使用了。我主要在原子哥的myiic文件根据数据手册和网上大佬们的实验思路,添加了一些iic函数,同时新增了一个ms5611的文件用于读取ms5611数据。

首先关于IIC的通信协议,网上应该很多教程这里就不一一赘述了,主要包括了
void IIC_Init()
void IIC_Start(void);
void IIC_Stop(void);
void IIC_Send_Byte(u8 txd);
u8 IIC_Read_Byte(unsigned char ack);
u8 IIC_Wait_Ack(void);
void IIC_Ack(void);
void IIC_NAck(void);
这几个函数,都是正点原子IIC实验里的。之后根据MS5611数据手册进行IIC时序的仿真。

MS5611部分:
MS5611的命令有5种:
在这里插入图片描述
同时也提供了模块内各个命令符格式:
在这里插入图片描述
获得了数据后就可以根据数据手册里的获取数据流程进行编写程序,主要流程如下:
在这里插入图片描述
在这之中,要对压力和温度进行一个补偿:
在这里插入图片描述
以上就是获得精确压力和温度的大体流程,数据手册里写的很清楚了。
同时数据手册里给出了SPI读取与IIC读取两种方式的时序:
在这里插入图片描述
在这里插入图片描述
不得不说数据手册给的实在详细,比如对OSR=4096,type=D1,直接给画了个图,告诉你D1怎么求,几个字节。
以上就是气压计MS5611的使用过程,体验不错。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值