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的使用过程,体验不错。

基于正点原子STM32F103精英板IIC实验的MS5611气压计的使用 - 程序员大本营 (pianshen.com)

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

  1. 基于正点原子F103精英板和CubeIDE的Hal库LCD驱动移植(从零开始)

    最近在学习王维波老师的<STM32Cube高效开发教程>,王老师移植的是普中科技的驱动,而我手动移植了一下正点原子的lcd驱动,看了网上的诸多教程,有的博客存在一些bug,于是乎手动整理了 ...

  2. 基于正点原子Linux开发板(ALIENTEK I.MX6U ALPHA V2.2)的个人自学记录

    基于正点原子Linux开发板(ALIENTEK I.MX6U ALPHA V2.2)的个人自学记录 硬件环境 正点原子Linux开发板(ALIENTEK I.MX6U ALPHA V2.2) 底板+核 ...

  3. stm32f407 6路串口dma如何配置_stm32cubeMX学习十、扫码模块程序开发(基于正点原子STM32F407开发板)...

    本程序编写基于正点原子STM32F407开发板. 本文使用的扫码模块是下面这个品牌. 扫码模块的应用场景非常广泛,我们可以上百度搜索一下: 等等. 今天就来说说如何在开发板上实现控制它吧,打开数据手册 ...

  4. 基于正点原子STM32F1精英版秒表(库函数版)

    基于正点原子STM32F1精英版秒表(库函数版) 一.前期准备 二.代码实现: 1.独立按键与触摸按键 2.TFTLCD 3.定时器 4.蜂鸣器与LED灯 5.主函数设计 三. 结束语: 一.前期准备 ...

  5. 正点原子STM32F103精英版开发环境搭建并编写第一个程序(使用串口下载,基于HAL库)

    一:软件下载: 使用图形化配置软件:STM32cubeMX,支持HAL库. 1,下载stm32cubeMX; 2,下载STM32f103器件包: 3,下载IED:keil5 arm版本: 4,下载 s ...

  6. 用正点原子STM32F103ZET6精英板控制舵机转动实验保姆教程

    文章目录 一.实验环境 二.程序 三.原理及代码分析 一.实验环境 正点原子精英板一块 Jlink4线SWD下载线一根 精英板usb供电/下载线一根(负责给开发板供电) SG90舵机一个(三线:其中红 ...

  7. 正点原子STM32精英版LCD实验白屏

    最近在咸鱼上买了一块正点原子的STM32精英版,带一个2.8寸的lcd屏幕,然后下载官方的历程测试,但是到lcd实验的时候发现下载样例后屏幕仍然是白色的,这让我很疑惑,于是我直接下载最后一个综合实验, ...

  8. 超详细!!!STM32F407ZGT6HAL库移植STemwin(基于正点原子最小系统板+GUIBuilder)

    第一次写博客,我以为会是点灯的,没想到留给了GUI,但是第一次写,可能写的不够好欢迎大家批评指正. 最近由于比赛的要求,需要给自己的LCD设计GUI界面,在查了一些资料后,决定先学STemwin然后学 ...

  9. Linux platform 设备驱动实验-基于正点原子IMX6ULL开发板

    我们以前的设备驱动都非常的简单,都是对IO进行最简单的读写操作.像I2C. SPI.LCD 这些复杂外设的驱动就不能这么去写了,Linux 系统要考虑到驱动的可重用性,因此提出了驱动的分离与分层这样的 ...

最新文章

  1. crosstool-ng配置中的Architecture level、Emit assembly for CPU 、Tune for CPU
  2. Eclipse深度患者设置VSCode快捷键
  3. 3.2 汇编语言程序设计
  4. .net 调用java service 代理类方法
  5. [python]pythonic的字典常用操作
  6. (转)Oracle中实现行列转换的方法
  7. 大学计算机一级b笔记,全国计算机等级一级B Excel考试整理笔记
  8. 云计算学习笔记002---云计算的理解及介绍,google云计算平台实现原理
  9. 搜索算法-三个简单的小问题
  10. 异常mongodb:Invalid BSON field name XXXXXX:YYYYY.zz
  11. 微信小程序------开发测试
  12. 博为峰Java技术文章 ——JavaSE Swing焦点事件的处理
  13. Java三大特性之多态
  14. vasp 计算杨氏弹性_高阶弹性常数计算的一点建议
  15. 纪录黑马程序员的真实生活
  16. 富士通Fujitsu DPK9500GA Pro 打印机驱动
  17. 银盒子·序列号购买(2018-12-05)
  18. 类Dota2服务器架构
  19. 在QT中使用MySQL数据库
  20. 基于51单片机的电压检测系统设计(#0412)

热门文章

  1. 如何利用CRM进行规范化商机管理?
  2. C PUZZLES中的一道题
  3. 如何把自己打造成一个成功自媒体,乃至自媒体明星呢?
  4. THESEUS-FE | 电动汽车热管理
  5. 哈夫曼编码c语言实现
  6. C语言-外部关键字extern
  7. 金融法重点复习(整理)
  8. P1838 三子棋I
  9. 【0】STM8——————STVD编译工具安装与程序下载
  10. 对称加密的对称密钥分发