spearnet_mems.h
来自「最新版IAR FOR ARM(EWARM)5.11中的代码例子」· C头文件 代码 · 共 113 行
H
113 行
//-----------------------------------------------------------------------------
// SpearNet_MEMS
//-----------------------------------------------------------------------------
#ifndef SpearNet_MEMS_H
#define SpearNet_MEMS_H
//-----------------------------------------------------------------------------
#include "hal_i2c.h"
//-----------------------------------------------------------------------------
// MEMS
//-----------------------------------------------------------------------------
//---address of slave I want to communicate---
#define kLIS3L02DQ_SLAVE_ADDR 0x3A
//-----------------------------------------------------------------------------
//---accelerometer register addresses---
#define OFFSET_X 0x16
#define OFFSET_Y 0x17
#define OFFSET_Z 0x18
#define GAIN_X 0x19
#define GAIN_Y 0x1A
#define GAIN_Z 0x1B
#define CTRL_REG1 0x20
#define CTRL_REG2 0x21
#define WAKE_UP_CFG 0x23
#define WAKE_UP_SRC 0x24
#define WAKE_UP_ACK 0x25
#define STATUS_REG 0x27
#define OUTX_L 0x28
#define OUTX_H 0x29
#define OUTY_L 0x2A
#define OUTY_H 0x2B
#define OUTZ_L 0x2C
#define OUTZ_H 0x2D
#define THS_L 0x2E
#define THS_H 0x2F
#define REPETIR 0x80
//-----------------------------------------------------------------------------
//---Settings for CTRL_REG1---
// Power Down Control (PD)
#define LIS_PD_OFF 0x00
#define LIS_PD_ON 0x40
// Decimation Factor Control (DF)
#define LIS_DF_BY128 0x00
#define LIS_DF_BY64 0x10
#define LIS_DF_BY32 0x20
#define LIS_DF_BY8 0x30
// Self Test
#define LIS_ST_NORMAL 0x00
#define LIS_ST_TEST 0x08
// Enable Axis
#define LIS_EA_ALL 0x07
//-----------------------------------------------------------------------------
//---Settings for CTRL_REG2---
// Full Scale (FS)
#define LIS_FS_2G 0x00
#define LIS_FS_6G 0x80
// Block Data Update (BDU)
#define LIS_BDU_CONTINUOUS 0x00
#define LIS_BDU_WAIT 0x40
// Big/Little Endian Selection (BLE)
#define LIS_BLE_LE 0x00
#define LIS_BLE_BE 0x20
// Data Alignment Selection DAS
#define LIS_DAS_12BIT 0x00
#define LIS_DAS_16BIT 0x01
//-----------------------------------------------------------------------------
#define LIS_BLE_XX LIS_BLE_BE
//-----------------------------------------------------------------------------
typedef struct {
u8 outx_l;
u8 outx_h;
u8 outy_l;
u8 outy_h;
u8 outz_l;
u8 outz_h;
} t_mems_data;
//-----------------------------------------------------------------------------
//You will use GPIO4,5
//-----------------------------------------------------------------------------
inline u16 MEMS_u16 (u8 hi, u8 lo)
{
u16 dato;
dato = (u16)hi <<8;
dato |= lo;
return (dato);
}
//-----------------------------------------------------------------------------
void MEMS_Init (void);
void MEMS_Read (t_mems_data *mems_data);
//-----------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?