• 大小: 721KB
    文件类型: .7z
    金币: 2
    下载: 0 次
    发布日期: 2024-01-21
  • 语言: 其他
  • 标签: MS5611  气压计  定高  

资源简介

STM32F1单片机MS5611高精度气压计驱动工程,完成遵守燕骏v3.0编程规范(本人已上传到CSDN)

资源截图

代码片段和文件信息

/*
***********************************************************************
*                YanJunFly V1.0 - Copyright (c) 2017
* All rights reserved.More information please browse www.yanjuntech.cn
*                  燕骏智控——以极客技术推进工程教育
*             手把手教你,如何从头开始做一个电子设计类项目。
* 我们将以 四轴飞行器 为项目载体,带领大家进行项目式学习做出属于自己的四旋翼。
*
* 文件名称:ms5611.c ms5611.h
* 文件摘要:ms5611气压计数据采集
* 注意事项:使用的时候先初始化然后把vMS5611_ReadData()函数放到中断里每10ms调用一次,至少要保证10ms一次的频率调用vMS5611_ReadData()函数
*
* 当前版本:v1.0
* 当前作者:YJ_王洪志
* 完成日期:2018年1月23日 20:47:55
* 改动说明:创建文件
*
* 取代版本:无
* 原 作 者:YJ_王洪志
* 完成日期:2018年1月23日 20:47:59
************************************************************************
*/
#include “./MS5611/ms5611.h“

/* 储存气压校正的数据的结构体变量 */
MS5611_CalibrationDataTypedef x_MS5611_CalibrationData;
MS5611_MiddleProcessDataTypedef x_MS5611_MiddleProcessData;

/*
***********************************************************************
*函数名称:ErrorStatus xMS5611_WriteReg(uint8_t uc_SlavaAddr uint8_t uc_RegAddr uint8_t uc_Data)
*函数功能:向MS5611写入数据
*
*使用说明:无
*入口参数:uc_RegAddr:寄存器地址  uc_Data:数据
*返 回 值:SUCCESS:成功 ERROR:失败
*
*函数作者:王洪志
*创建日期:2018年1月23日 11:11:14
***********************************************************************
*/

ErrorStatus xMS5611_WriteReg(uint8_t uc_RegAddr uint8_t uc_Data)
{
if(xI2C_Write(MS5611_SLAVE_ADDR uc_RegAddr &uc_Data 1) == SUCCESS)
{
return SUCCESS;
}
else
{
return ERROR;
}
}

/*
***********************************************************************
*函数名称:ErrorStatus xMS5611_WriteCommand(uint8_t uc_Command)
*函数功能:向MS5611写入指令
*
*使用说明:无
*入口参数:uc_Command:指令
*返 回 值:SUCCESS:成功 ERROR:失败
*
*函数作者:王洪志
*创建日期:2018年1月23日 11:11:18
***********************************************************************
*/

ErrorStatus xMS5611_WriteCommand(uint8_t uc_Command)
{
uint8_t uc_Data = 0x00;
if(xI2C_Write(MS5611_SLAVE_ADDR uc_Command &uc_Data 0) == SUCCESS)
{
return SUCCESS;
}
else
{
return ERROR;
}
}

/*
***********************************************************************
*函数名称:void vMS5611_ReadReg(uint8_t uc_RegAddr uint8_t *ucp_Data uint8_t uc_Length)
*函数功能:从MS5611读取一个数据
*
*使用说明:无
*入口参数:uc_RegAddr:寄存器地址 ucp_Data:储存数据的地址 uc_Length:数据长度
*返 回 值:SUCCESS:成功 ERROR:失败
*
*函数作者:王洪志
*创建日期:2018年1月23日 11:11:21
***********************************************************************
*/

ErrorStatus xMS5611_ReadReg(uint8_t uc_RegAddr uint8_t *ucp_Data uint8_t uc_Length)
{
if(xI2C_Read(MS5611_SLAVE_ADDR uc_RegAddr ucp_Data uc_Length) == SUCCESS)
{
return SUCCESS;
}
else
{
return ERROR;
}
}

/*
***********************************************************************
*函数名称:void vPressureFilter(int32_t i_DataIn int32_t* ip_DataOut)
*函数功能:对气压值进行滤波
*
*使用说明:被气压计算函数调用
*入口参数:i_DataIn:输入的数据  ip_DataOut:储存输出数据的地址
*返 回 值:无
*
*函数作者:王洪志
*创建日期:2018年1月23日 20:49:52
***********************************************************************
*/

void vPressureF

评论

共有 条评论