資源簡(jiǎn)介
STM32F1單片機(jī)MS5611高精度氣壓計(jì)驅(qū)動(dòng)工程,完成遵守燕駿v3.0編程規(guī)范(本人已上傳到CSDN)
代碼片段和文件信息
/*
***********************************************************************
*????????????????YanJunFly?V1.0?-?Copyright?(c)?2017
*?All?rights?reserved.More?information?please?browse?www.yanjuntech.cn
*??????????????????燕駿智控——以極客技術(shù)推進(jìn)工程教育
*?????????????手把手教你,如何從頭開(kāi)始做一個(gè)電子設(shè)計(jì)類項(xiàng)目。
*?我們將以?四軸飛行器?為項(xiàng)目載體,帶領(lǐng)大家進(jìn)行項(xiàng)目式學(xué)習(xí)做出屬于自己的四旋翼。
*
*?文件名稱:ms5611.c?ms5611.h
*?文件摘要:ms5611氣壓計(jì)數(shù)據(jù)采集
*?注意事項(xiàng):使用的時(shí)候先初始化然后把vMS5611_ReadData()函數(shù)放到中斷里每10ms調(diào)用一次,至少要保證10ms一次的頻率調(diào)用vMS5611_ReadData()函數(shù)
*
*?當(dāng)前版本:v1.0
*?當(dāng)前作者:YJ_王洪志
*?完成日期:2018年1月23日?20:47:55
*?改動(dòng)說(shuō)明:創(chuàng)建文件
*
*?取代版本:無(wú)
*?原?作?者:YJ_王洪志
*?完成日期:2018年1月23日?20:47:59
************************************************************************
*/
#include?“./MS5611/ms5611.h“
/*?儲(chǔ)存氣壓校正的數(shù)據(jù)的結(jié)構(gòu)體變量?*/
MS5611_CalibrationDataTypedef?x_MS5611_CalibrationData;
MS5611_MiddleProcessDataTypedef?x_MS5611_MiddleProcessData;
/*
***********************************************************************
*函數(shù)名稱:ErrorStatus?xMS5611_WriteReg(uint8_t?uc_SlavaAddr?uint8_t?uc_RegAddr?uint8_t?uc_Data)
*函數(shù)功能:向MS5611寫(xiě)入數(shù)據(jù)
*
*使用說(shuō)明:無(wú)
*入口參數(shù):uc_RegAddr:寄存器地址??uc_Data:數(shù)據(jù)
*返?回?值:SUCCESS:成功?ERROR:失敗
*
*函數(shù)作者:王洪志
*創(chuàng)建日期: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;
}
}
/*
***********************************************************************
*函數(shù)名稱:ErrorStatus?xMS5611_WriteCommand(uint8_t?uc_Command)
*函數(shù)功能:向MS5611寫(xiě)入指令
*
*使用說(shuō)明:無(wú)
*入口參數(shù):uc_Command:指令
*返?回?值:SUCCESS:成功?ERROR:失敗
*
*函數(shù)作者:王洪志
*創(chuàng)建日期: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;
}
}
/*
***********************************************************************
*函數(shù)名稱:void?vMS5611_ReadReg(uint8_t?uc_RegAddr?uint8_t?*ucp_Data?uint8_t?uc_Length)
*函數(shù)功能:從MS5611讀取一個(gè)數(shù)據(jù)
*
*使用說(shuō)明:無(wú)
*入口參數(shù):uc_RegAddr:寄存器地址?ucp_Data:儲(chǔ)存數(shù)據(jù)的地址?uc_Length:數(shù)據(jù)長(zhǎng)度
*返?回?值:SUCCESS:成功?ERROR:失敗
*
*函數(shù)作者:王洪志
*創(chuàng)建日期: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;
}
}
/*
***********************************************************************
*函數(shù)名稱:void?vPressureFilter(int32_t?i_DataIn?int32_t*?ip_DataOut)
*函數(shù)功能:對(duì)氣壓值進(jìn)行濾波
*
*使用說(shuō)明:被氣壓計(jì)算函數(shù)調(diào)用
*入口參數(shù):i_DataIn:輸入的數(shù)據(jù)??ip_DataOut:儲(chǔ)存輸出數(shù)據(jù)的地址
*返?回?值:無(wú)
*
*函數(shù)作者:王洪志
*創(chuàng)建日期:2018年1月23日?20:49:52
***********************************************************************
*/
void?vPressureF
評(píng)論
共有 條評(píng)論