mirror of
https://github.com/openharmony/device_board_bearpi.git
synced 2026-07-01 21:44:37 -04:00
!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:
Executable → Regular
Executable → Regular
+5
-7
@@ -3,8 +3,10 @@
|
||||
|
||||
|
||||

|
||||
|
||||
## 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***********
|
||||
|
||||
Executable → Regular
+1
-1
@@ -86,4 +86,4 @@ static void ExampleEntry(void)
|
||||
}
|
||||
}
|
||||
|
||||
APP_FEATURE_INIT(ExampleEntry);
|
||||
APP_FEATURE_INIT(ExampleEntry);
|
||||
|
||||
Executable → Regular
Executable → Regular
+65
-47
@@ -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写入一个值到指定寄存器内
|
||||
* 输入参数: Addr:I2C设备地址
|
||||
* 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写入一段数据到指定寄存器内
|
||||
* 输入参数: Addr:I2C设备地址
|
||||
* 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读取一段寄存器内容存放到指定的缓冲区内
|
||||
* 输入参数: Addr:I2C设备地址
|
||||
* 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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user