【HAL库】BMP180气压传感器+STM32,hal库移植

BMP180气压传感器+STM32

    • 1 导入.c.h文件(不再赘述,详细见LED部分)
    • 2 Cubemx配置
    • 3 修改 .h 文件
    • 4 测试

将BMP180从标准库移植到HAL库。模拟IIC。

极简工程代码如下:
https://github.com/wyfroom/HAL_BMP180
该份代码硬件配置:
板子:c8t6最小系统板。
外设:模拟IIC B6 B7,串口1调试用。

1 导入.c.h文件(不再赘述,详细见LED部分)

在keil工程中导入之前写好的.c.h文件。

image-20230409090534520

2 Cubemx配置

采用模拟IIC,任意选两个io口设置为推挽输出模式。我这边选B7 B6。

配置串口1,重映射printf。

cubemx基本工程和配置看:【HAL库】HAL库STM32cubemx快速使用

3 修改 .h 文件

只需要修改下面2行代码即可任意改变引脚

image-20230409090442577

4 测试

添加头文件

#include "bmp1801.h"

添加初始化

BMP_Init();				  //BMP180初始化
BMP_ReadCalibrationData();//BMP180初始化

读取

uint8_t ID = 0;		//BMP180器件号
ID = BMP_ReadOneByte(0xd0);	//读取设备ID
BMP_UncompemstatedToTrue();	//读取气压值
printf("ID = %d\t  temp = %d.%dC\t   Pressure = %.2fkPa\t   Altitude = %.5fm\r\n",ID,bmp180.Temp/10,bmp180.Temp%10,(float)bmp180.p/1000.0,bmp180.altitude);
HAL_Delay(500);

image-20230409092351354

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/9259.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Oracle_EBS_核心功能(MFG)(1)

INV: Items参考《深入浅出Oracle EBS之核心功能(DIS)》。canca INV: Transactions基本库存事务处理参考《深入浅出Oracle EBS之核心功能(DIS)》。canca BOM: Bills of Material物料清单应用:Bills of Material 职责&am…

day-004-链表-两两交换链表中的节点、删除链表的倒数第N个节点、链表相交、环形链表II

两两交换链表中的节点 题目建议:用虚拟头结点,这样会方便很多。 题目链接/文章讲解/视频讲解 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* Li…

阿里9年测试经验告诉你:作为一名年薪40w自动化测试需要具备那些能力

前言 前段时间张同学问我说:我已经功能测试2年多了,在功能测试的阶段中也一直在自学自动化测试,有了一定的代码基础还学习了很多的工具,问题是我不知道自动化测试到底需要具备什么样的能力。 我相信有很多小伙伴也是在思索这个问…

计算机组成的基本认识

计算机——> 数值计算——> 处理电信号——> 基本单元(逻辑元件) 电子管——> 晶体管——>中小规模集成电路 ——>大规模,超大规模集成电路 机器字长:计算机一次整数运算所能处理的二进制位数 解析存储器中的程…

这家年销售额309亿的Tier 1,要谈一场千亿新生意

跨入2023年,智能汽车软件赛道更热闹了。 相较于传统汽车开发模式,软件属于分布式ECU工程开发的一部分,由一级供应商作为黑盒提供,软件开发成本等被认为是硬件系统成本的一部分,没有实现单独定价。 如今,“…

如何在windows/linux下启动OpenOffice

上面一篇文章使用openOffice来实现预览word、excel、pdf、txt等的功能时,发现openOffice没有启动,也怕有些同学安装后不会启动,所以便写下这一篇文章,来为大家说明如何启动openOffice,上一篇讲的如何下载安装openOffic…

2.5 函数的微分

思维导图: 学习目标: 我认为学习函数的微分需要以下几个步骤: 熟练掌握导数的定义和基本性质,包括求导法则和高阶导数的概念。学习一些重要的函数的导数,例如多项式函数、三角函数、指数函数和对数函数等。这些函数的…

CSDN——Markdown编辑器——官方指导

CSDN——Markdown编辑器——官方指导欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表…

Node.js -- http模块

1. 什么是http模块 在网络节点中,负责消费资源的电脑,叫客户端;负责对外提供网络资源的电脑,叫做服务器。 http模块是Node.js官方提供的,用来创建web服务器的模块。通过http模块提供的http.createServer()方法&#…

手写一个Promise

Promise Promise是一个对象,用于解决异步变成的问题,由传统的异步回调为服务端立即调用优化为使用者者掌握回调主动权。 比如传统的JSONP,如下,在请求路由里添加回调函数,由接收请求的一方来调用请求,使用…

kafka笔记

消息队列 场景模式基础架构发送原理异步发送同步发送分区生产者提高吞吐量:数据可靠性ack应答数据重复幂等性事务数据有序数据乱序broker工作流程follower故障leader故障数据查找文件清除高效读写消费者流程消费者组初始化分区分配策略自动提交offset手动提交指定位…

Kubernetes调度器源码学习(一):调度器工作原理、调度器启动流程、调度队列

本文基于Kubernetes v1.22.4版本进行源码学习 1、调度器工作原理 1)、调度流程 kube-scheduler的主要作用就是根据特定的调度算法和调度策略将Pod调度到合适的Node节点上去,是一个独立的二进制程序,启动之后会一直监听API Server&#xff0…

thanos prometheus 的高可用、长期存储二进制部署

1.简介 http://thanos.io/ thanos 是具有长期存储功能的开源、高可用性 Prometheus的集群组件。 全局查询视图 跨多个 Prometheus 服务器和集群查询指标 无限保留 使用对象存储扩展系统,不限时间保留指标。 Prometheus兼容 兼容 Prometheus api,用于…

FPGA时序知识点(基本方法总结就两点:1.降低时钟频率2.减小组合逻辑延迟(针对Setup Slack公式来的)

1.我们说的所有时序分析都是建立在同步电路的基础上的,异步电路不能做时序分析(或者说只能做伪路径约束(在设伪路径之前单bit就打拍,多bit就异步fifo拉到目的时钟域来))。——FPGA 设计中寄存器全部使用一个…

Spring的事务

(1) 事务的定义 事务就是用户定义的一系列数据库操作,这些操作可以视为一个完成的逻辑处理工作单元,要么全部执行,要么全部不执行,是不可分割的工作单元。 (2)事务的使用: begin transaction commit rollback. begin …

谈谈软件系统重构

「头条关注【Java思享汇】,面试、各种技术栈、架构设计持续更新中~」 分享初衷:工作几年之后基本都会经历过大大小小的系统重构,笔者经历过单体应用拆分微服务的系统重构,数据异构,业务系统重构。借助此次…

总结819

学习目标: 4月(复习完高数18讲内容,背诵21篇短文,熟词僻义300词基础词) 第二周: 学习内容: 暴力英语:早上背诵《think different》记150词,默写了两篇文章&#xff0c…

Java中的Iterator底层原理实现

两个抽象方法 Iterator主要有两个抽象方法,让子类实现。 hasNext()用来判断还有没有数据可供访问。next()方法用于访问集合的下一个数据。 这两个方法不像List的get()那样依赖索引获取数据,也不像Queue的poll方法那样依赖特定规则获取数据。 迭代器的…

3月更新 | Visual Studio Code Python

我们很高兴地宣布,2023年3月版 Visual Studio Code Python 和 Jupyter 扩展现已推出! 此版本包括以下改进: 后退按钮和取消功能添加到创建环境命令默认情况下,Python 扩展不再附带 isortJupyter 笔记本中内核选择的改进Python P…

代码随想录Day49

今天继续学习动规解决完全背包问题。 322.零钱兑换 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,…
最新文章