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

文章介绍了如何将BMP180气压传感器从标准库移植到STM32的HAL库,使用模拟IIC进行通信。步骤包括在Keil工程中导入.c.h文件,使用Cubemx配置IO口和串口,修改.h文件,以及进行初始化和测试。测试过程中读取设备ID和气压值,并通过串口输出数据。
摘要由CSDN通过智能技术生成

将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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值