spearnet_mems.c

来自「最新版IAR FOR ARM(EWARM)5.11中的代码例子」· C语言 代码 · 共 35 行

C
35
字号
//-----------------------------------------------------------------------------
// SpearNet_MEMS
//-----------------------------------------------------------------------------

#include "hal_i2c.h"
#include "SpearNet_mems.h"

//-----------------------------------------------------------------------------
void MEMS_Init (void)
{
  I2C_Init ();
  I2C_OnOffConfig (ENABLE);
  I2C_SpeedConfig (300000);

  i2c_write_reg (kLIS3L02DQ_SLAVE_ADDR, WAKE_UP_CFG, 0x00);   //no wake-up
  i2c_write_reg (kLIS3L02DQ_SLAVE_ADDR, STATUS_REG, 0x00);    //no flag
  i2c_write_reg (kLIS3L02DQ_SLAVE_ADDR, CTRL_REG2, LIS_FS_2G + LIS_BDU_CONTINUOUS + LIS_BLE_XX + LIS_DAS_12BIT); //0x00
  i2c_write_reg (kLIS3L02DQ_SLAVE_ADDR, CTRL_REG1, LIS_PD_ON + LIS_DF_BY128 + LIS_ST_NORMAL + LIS_EA_ALL);       //0x47
}

//-----------------------------------------------------------------------------
void MEMS_Read (t_mems_data *mems_data)
{
  i2c_read_reg (kLIS3L02DQ_SLAVE_ADDR, OUTX_L+REPETIR, 6);

  mems_data->outx_h = i2c_read_buffer (0);
  mems_data->outx_l = i2c_read_buffer (1);
  mems_data->outy_h = i2c_read_buffer (2);
  mems_data->outy_l = i2c_read_buffer (3);
  mems_data->outz_h = i2c_read_buffer (4);
  mems_data->outz_l = i2c_read_buffer (5);
}

//-----------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?