概述
做个笔录,最近项目使用了此款gsensor,实现了简单示例
一、环境:
硬件平台(RTL8762DK)
IDE:keil5.29
1)、原理图
二、代码:
1、stk8321.h
/**
*********************************************************************************************************
* Copyright(c) 2018, Realtek Semiconductor Corporation. All rights reserved.
*********************************************************************************************************
* @file io_adc.h
* @brief
* @details
* @author yuan
* @date 2018-12-07
* @version v1.0
*********************************************************************************************************
*/
#ifndef __STK8321_H
#define __STK8321_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "rtl876x_i2c.h"
#include "board.h"
#include "gsensor.h"
/* Defines ------------------------------------------------------------------*/
#define STK8321_ADDRESS 0x0F
#define STK8321_CHIP_ID 0x23
#define STK8321_REG_CHIP_ID 0x00
#define STK8321_REG_X_OUT_LOW 0x02
#define STK8321_REG_X_OUT_HIGH 0x03
#define STK8321_REG_Y_OUT_LOW 0x04
#define STK8321_REG_Y_OUT_HIGH 0x05
#define STK8321_REG_Z_OUT_LOW 0x06
#define STK8321_REG_Z_OUT_HIGH 0x07
uint8_t stk8321_write(uint8_t regAddr, uint8_t data);
uint8_t stk8321_read(uint8_t regAddr, uint8_t *buf);
void stk8321_gsensor_init(void);
uint8_t stk8321_id_get(void);
void stk8321_outdata_get(void);
#ifdef __cplusplus
}
#endif
#endif
2、stk8321.c
/**
*********************************************************************************************************
* Copyright(c) 2018, Realtek Semiconductor Corporation. All rights reserved.
*********************************************************************************************************
* @file io_adc.c
* @brief This file provides demo code of adc continuous mode.
* @details
* @author yuan
* @date 2018-12-07
* @version v1.0
*********************************************************************************************************
*/
/* Includes ------------------------------------------------------------------*/
#include "stk8321.h"
/* Globals ------------------------------------------------------------------*/
static uint8_t stk8321_write_reg(uint8_t regAddr, uint8_t data)
{
return i2c_write(regAddr, data);
}
static uint8_t stk8321_read_reg(uint8_t regAddr, uint8_t *buf)
{
return i2c_read(regAddr, buf, 1);
}
static uint8_t stk8321_multiRead_reg(uint8_t regAddr, uint8_t *buf, uint8_t len)
{
return i2c_read(regAddr, buf, len);
}
uint8_t stk8321_id_get(void)
{
uint8_t stk8321_chip_id = 0;
uint8_t reg_addr &#