!103 【OpenHarmony开源贡献者计划2022】fix: update mismatched API comments for `C4_e53_sc2_axis'

Merge pull request !103 from c01dface/dev3
This commit is contained in:
openharmony_ci
2022-09-06 06:37:38 +00:00
committed by Gitee
5 changed files with 71 additions and 55 deletions
View File
+5 -7
View File
@@ -3,8 +3,10 @@
![](../../docs/figures/C4_e53_sc2_axis/E53_SC2_Install.png "E53_SC2安装")
## E53_SC2 API分析
本案例主要使用了以下API完成三轴加速度读取。
本案例主要使用了以下API完成三轴加速度值的读取。
### E53SC2Init()
```C
int E53SC2Init(void);
@@ -18,9 +20,8 @@ int E53SC2Init(void);
int E53SC2ReadData(E53SC2Data *ReadData);
```
**描述:**
读取三轴加速度及温度。
读取三轴加速度及温度。
@@ -87,7 +88,6 @@ static void ExampleTask(void)
```
## 编译调试
### 修改 BUILD.gn 文件
@@ -100,12 +100,10 @@ static void ExampleTask(void)
#"C5_e53_is1_infrared:e53_is1_example",
```
### 运行结果<a name="section18115713118"></a>
示例代码编译烧录代码后,按下开发板的RESET按键,通过串口助手查看日志,会打印温度和三轴加速度信息。当倾斜开发板后会点亮扩展板上倾斜倾斜状态的灯。
示例代码编译烧录后,按下开发板的RESET按键,通过串口助手查看日志,会打印温度和三轴加速度信息。当倾斜开发板后会点亮扩展板上检测倾斜状态的灯。
```c
=======================================
*************E53_SC2_example***********
+1 -1
View File
@@ -86,4 +86,4 @@ static void ExampleEntry(void)
}
}
APP_FEATURE_INIT(ExampleEntry);
APP_FEATURE_INIT(ExampleEntry);
View File
+65 -47
View File
@@ -27,10 +27,10 @@
#include "E53_SC2.h"
/***************************************************************
* 函数名称: E53SC2IoInit
* 说 明: E53_SC2 GPIO初始化
* 函数功能: E53_SC2 GPIO初始化
* 参 数: 无
* 返 回 值: 无
* 说 明: 无
***************************************************************/
static void E53SC2IoInit(void)
{
@@ -48,12 +48,12 @@ static void E53SC2IoInit(void)
IoTGpioSetFunc(WIFI_IOT_IO_NAME_GPIO_1, WIFI_IOT_IO_FUNC_GPIO_1_I2C1_SCL); // GPIO_1复用为I2C1_SCL
IoTI2cInit(WIFI_IOT_I2C_IDX_1, WIFI_IOT_I2C_BAUDRATE); /* baudrate: 400kbps */
}
/***************************************************************
* 函数功能: 通过I2C写入一个到指定寄存器内
* 输入参数: AddrI2C设备地址
* Reg:目标寄存器
* Value:值
* 返 回 值: 无
* 函数功能: 通过I2C写入一个字节数据到指定寄存器内
* 输入参数: Reg: 目标寄存器
* Value: 值
* 返 回 值: 0 成功, -1 失败
* 说 明: 无
**************************************************************/
static int MPU6050WriteData(uint8_t Reg, uint8_t Value)
@@ -69,13 +69,11 @@ static int MPU6050WriteData(uint8_t Reg, uint8_t Value)
}
/***************************************************************
* 函数功能: 通过I2C写入一段数据到指定寄存器内
* 输入参数: AddrI2C设备地址
* Reg:目标寄存器
* RegSize:寄存器尺寸(8位或者16位)
* pBuffer:缓冲区指针
* Length:缓冲区长度
* 返 回 值: HAL_StatusTypeDef:操作结果
* 说 明: 在循环调用是需加一定延时时间
* 输入参数: Reg: 目标寄存器
* pBuffer: 待写入数据的缓冲区指针
* Length: 缓冲区长度
* 返 回 值: 0 成功, -1 失败
* 明: 在循环调用时需加一定延时时间
**************************************************************/
static int MPU6050WriteBuffer(uint8_t Reg, uint8_t *pBuffer, uint16_t Length)
{
@@ -97,12 +95,10 @@ static int MPU6050WriteBuffer(uint8_t Reg, uint8_t *pBuffer, uint16_t Length)
/***************************************************************
* 函数功能: 通过I2C读取一段寄存器内容存放到指定的缓冲区内
* 输入参数: AddrI2C设备地址
* Reg:目标寄存器
* RegSize:寄存器尺寸(8位或者16位)
* pBuffer:缓冲区指针
* Length:缓冲区长度
* 返 回 值: HAL_StatusTypeDef:操作结果
* 输入参数: Reg: 目标寄存器
* pBuffer: 待读取数据的缓冲区指针
* Length: 缓冲区长度
* 返 回 值: 0 成功, -1 失败
* 说 明: 无
**************************************************************/
static int MPU6050ReadBuffer(uint8_t Reg, uint8_t *pBuffer, uint16_t Length)
@@ -121,9 +117,11 @@ static int MPU6050ReadBuffer(uint8_t Reg, uint8_t *pBuffer, uint16_t Length)
}
return 0;
}
/***************************************************************
* 函数功能: 写数据到MPU6050寄存器
* 输入参数:
* 输入参数: reg_add: 目标寄存器
* reg_dat: 待写入数据
* 返 回 值: 无
* 说 明: 无
***************************************************************/
@@ -134,7 +132,9 @@ static void MPU6050WriteReg(uint8_t reg_add, uint8_t reg_dat)
/***************************************************************
* 函数功能: 从MPU6050寄存器读取数据
* 输入参数:
* 输入参数: reg_add: 目标寄存器
* read: 待读取数据缓冲区
* num: 缓冲区长度
* 返 回 值: 无
* 说 明: 无
***************************************************************/
@@ -145,8 +145,8 @@ static int MPU6050ReadData(uint8_t reg_add, unsigned char *read, uint8_t num)
/***************************************************************
* 函数功能: 读取MPU6050的加速度数据
* 输入参数:
* 返 回 值:
* 输入参数: accData: 存放加速度数据的缓冲区
* 返 回 值: 0 成功, -1 失败
* 说 明: 无
***************************************************************/
static int MPU6050ReadAcc(short *accData)
@@ -165,8 +165,8 @@ static int MPU6050ReadAcc(short *accData)
/***************************************************************
* 函数功能: 读取MPU6050的角速度数据
* 输入参数:
* 返 回 值:
* 输入参数: gyroData: 存放角速度数据的缓冲区
* 返 回 值: 0 成功, -1 失败
* 说 明: 无
***************************************************************/
static int MPU6050ReadGyro(short *gyroData)
@@ -185,8 +185,8 @@ static int MPU6050ReadGyro(short *gyroData)
/***************************************************************
* 函数功能: 读取MPU6050的原始温度数据
* 输入参数:
* 返 回 值:
* 输入参数: tempData: 存放原始温度数据的缓冲区
* 返 回 值: 0 成功, -1 失败
* 说 明: 无
***************************************************************/
static int MPU6050ReadTemp(short *tempData)
@@ -203,8 +203,8 @@ static int MPU6050ReadTemp(short *tempData)
/***************************************************************
* 函数功能: 读取MPU6050的温度数据,转化成摄氏度
* 输入参数:
* 返 回 值:
* 输入参数: Temperature: 存放摄氏温度值的缓冲区
* 返 回 值: 0 成功, -1 失败
* 说 明: 无
**************************************************************/
static int MPU6050ReturnTemp(short *Temperature)
@@ -228,17 +228,31 @@ static int MPU6050ReturnTemp(short *Temperature)
* 返 回 值: 无
* 说 明: 无
**************************************************************/
void FreeFallInterrupt(void) // 自由落体中断
void FreeFallInterrupt(void)
{
MPU6050WriteReg(MPU6050_RA_FF_THR, 0x01); // 自由落体阈值
MPU6050WriteReg(MPU6050_RA_FF_DUR, 0x01); // 自由落体检测时间20ms 单位1ms 寄存器0X20
}
void MotionInterrupt(void) // 运动中断
/***************************************************************
* 函数功能: 运动中断
* 输入参数: 无
* 返 回 值: 无
* 说 明: 无
**************************************************************/
void MotionInterrupt(void)
{
MPU6050WriteReg(MPU6050_RA_MOT_THR, 0x03); // 运动阈值
MPU6050WriteReg(MPU6050_RA_MOT_DUR, 0x14); // 检测时间20ms 单位1ms 寄存器0X20
}
void ZeroMotionInterrupt(void) // 静止中断
/***************************************************************
* 函数功能: 静止中断
* 输入参数: 无
* 返 回 值: 无
* 说 明: 无
**************************************************************/
void ZeroMotionInterrupt(void)
{
MPU6050WriteReg(MPU6050_RA_ZRMOT_THR, 0x20); // 静止阈值
MPU6050WriteReg(MPU6050_RA_ZRMOT_DUR, 0x20); // 静止检测时间20ms 单位1ms 寄存器0X20
@@ -270,7 +284,7 @@ void MPU6050Init(void)
/***************************************************************
* 函数功能: 读取MPU6050的ID
* 输入参数: 无
* 返 回 值:
* 返 回 值: 0 成功, -1 失败
* 说 明: 无
***************************************************************/
int MPU6050ReadID(void)
@@ -284,11 +298,12 @@ int MPU6050ReadID(void)
return 0;
}
}
/***************************************************************
* 函数名称: E53SC2Init
* 说 明: 初始化E53_SC2
* 函数功能: 初始化E53_SC2
* 参 数: 无
* 返 回 值:
* 返 回 值: 0 成功, -1 失败
* 说 明: 无
***************************************************************/
int E53SC2Init(void)
{
@@ -299,14 +314,16 @@ int E53SC2Init(void)
if (ret != 0) {
return -1;
}
MPU6050Init();
osDelay(MPU6050_DATA_DELAY);
return 0;
}
/***************************************************************
* 函数名称: E53SC2ReadData
* 明: 读取数据
* 参 数: 无
* 返 回 值: 无
* 函数功能: 读取三轴加速度值及温度值
* 数: ReadData: 存放待读取的三轴加速度值及温度值的缓冲区
* 返 回 值: 0 成功, -1 失败
* 说 明: 无
***************************************************************/
int E53SC2ReadData(E53SC2Data *ReadData)
{
@@ -332,13 +349,14 @@ int E53SC2ReadData(E53SC2Data *ReadData)
usleep(READ_DATA_DELAY_US);
return 0;
}
/***************************************************************
* 函数名称: LedD1StatusSet
* 明: LED_D1状态设置
* 参 数: status,ENUM枚举的数据
* 函数功能: 设置LED_D1状态
* 数: status: ENUM枚举的数据
* OFF,关
* ON,开
* 返 回 值: 无
* 说 明: 无
***************************************************************/
void LedD1StatusSet(E53SC2Status status)
{
@@ -351,12 +369,12 @@ void LedD1StatusSet(E53SC2Status status)
}
/***************************************************************
* 函数名称: LedD2StatusSet
* 明: LED_D2状态设置
* 参 数: status,ENUM枚举的数据
* 函数功能: 设置LED_D2状态
* 数: status: ENUM枚举的数据
* OFF,关
* ON,开
* 返 回 值: 无
* 说 明: 无
***************************************************************/
void LedD2StatusSet(E53SC2Status status)
{