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

将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

猜你喜欢

转载自blog.csdn.net/weixin_44029896/article/details/130038328