#ifndef __DRV_QMA7981_H__ #define __DRV_QMA7981_H__ #ifdef __cplusplus extern "C" { #endif /*Includes ------------------------------------------------------*/ #include #include #include /*STRUCTION -----------------------------------------------------*/ typedef enum{ QMA_ACC_ODR_OFF = 0x00, //关闭加速度 QMA_ACC_ODR_12HZ5 = 0x01, //采样频率 - 12.5赫兹 QMA_ACC_ODR_104HZ = 0x02, //采样频率 - 104赫兹 } QMA_ACC_ODR_e; typedef enum{ QMA_ACC_FS_2G = 0x01, //量程 - 2倍重力加速度 QMA_ACC_FS_16G = 0x02, //量程 - 16倍重力加速度 } QMA_ACC_FS_e; typedef struct { QMA_ACC_ODR_e acc_odr; //加速度采样频率 QMA_ACC_FS_e acc_fs; //加速度量程 } drv_qma_config_param_t; typedef struct { int16_t acc[3]; //加速度三轴 } qma_data_t; /*API -------------------------------------------------------*/ /** @brief 初始化QMA驱动 @param 无 @return 错误代码 - [out] -1失败,0成功 */ int drv_qma_Init(void); /** @brief QMA断电 @param 无 @return 错误代码 - [out] -1失败,0成功 */ int drv_qma_power_off(void); /** @brief QMA上电(默认配置挂起) @param 无 @return 错误代码 - [out] -1失败,0成功 */ int drv_qma_power_on(void); /** @brief 设置ACC量程 @param acc_fs - [in] ACC量程 @return 错误代码 - [out] -1失败,0成功 */ int drv_qma_set_acc_fs(QMA_ACC_FS_e acc_fs); /** @brief 设置ACC采样频率 @param acc_odr - [in] ACC采样频率 @return 错误代码 - [out] -1失败,0成功 */ int drv_qma_set_acc_odr(QMA_ACC_ODR_e acc_odr); /** @brief 获取QMA配置参数 @param param - [in] QMA配置参数 @return 错误代码 - [out] -1失败,0成功 */ int drv_qma_get_config_param(drv_qma_config_param_t *p_param); /** @brief 获取QMA的ACC数据 @param p_data - [out] 返回的ACC三轴数据 @return 错误代码 - [out] -1失败,0成功 */ int drv_qma_get_acc_data(qma_data_t *p_data); #ifdef __cplusplus } #endif #endif