ATY_LIB V2_102_230218
ATY_LIB for general devices or ALGO
 
Loading...
Searching...
No Matches
adxl345.c File Reference
#include "adxl345.h"

Go to the source code of this file.

Functions

uint8_t ADXL345_ReadByte (uint8_t addr)
 
uint16_t ADXL345_ReadInt (uint8_t addr)
 
void ADXL345_WriteByte (uint8_t addr, uint8_t dat)
 
HAL_StatusTypeDef ADXL345_Init (ADXL345_DataRate_t dataRate, ADXL345_SPI_Wire_t spiWire, ADXL345_IntActive_t intLevel, ADXL345_DataResolve_t resolve, ADXL345_DataAlignment_t alignment, ADXL345_G_Range_t range)
 
void ADXL345_SetInterrupts (uint8_t interrupts)
 
void ADXL345_RemapInterrupts (uint8_t interrupts)
 
uint8_t ADXL345_IsInterrupt (uint8_t interrupt)
 
void ADXL345_EnableTapDetectOnAxes (uint8_t axes)
 

Variables

uint8_t xbuf [3]
 

Function Documentation

◆ ADXL345_EnableTapDetectOnAxes()

void ADXL345_EnableTapDetectOnAxes ( uint8_t  axes)

Definition at line 88 of file adxl345.c.

89{
91}
void ADXL345_WriteByte(uint8_t addr, uint8_t dat)
Definition: adxl345.c:41
#define ADXL345_REG_TAP_AXES
Definition: adxl345.h:44

◆ ADXL345_Init()

HAL_StatusTypeDef ADXL345_Init ( ADXL345_DataRate_t  dataRate,
ADXL345_SPI_Wire_t  spiWire,
ADXL345_IntActive_t  intLevel,
ADXL345_DataResolve_t  resolve,
ADXL345_DataAlignment_t  alignment,
ADXL345_G_Range_t  range 
)

Definition at line 50 of file adxl345.c.

57{
59 {
62 spiWire|intLevel|resolve|alignment|range);
63 ADXL345_WriteByte(ADXL345_REG_POWER_CTL, 0x08); // BIT3=0/1:(测量模式/待机模式);BIT2=0/1:(工作/休眠);
64 return HAL_OK;
65 }
66 else
67 {
68 return HAL_ERROR;
69 }
70}
uint8_t ADXL345_ReadByte(uint8_t addr)
Definition: adxl345.c:20
#define ADXL345_REG_DEVID
Definition: adxl345.h:30
#define ADXL345_REG_BW_RATE
Definition: adxl345.h:46
#define ADXL345_REG_DATA_FORMAT
Definition: adxl345.h:51
#define ADXL345_DEVICE_ID
Definition: adxl345.h:28
#define ADXL345_REG_POWER_CTL
Definition: adxl345.h:47
@ HAL_ERROR
Definition: fw_types.h:77
@ HAL_OK
Definition: fw_types.h:76

◆ ADXL345_IsInterrupt()

uint8_t ADXL345_IsInterrupt ( uint8_t  interrupt)

Definition at line 82 of file adxl345.c.

83{
85 return (int_src & interrupt);
86}
#define ADXL345_REG_INT_SOURCE
Definition: adxl345.h:50
unsigned char uint8_t
Definition: fw_types.h:18

◆ ADXL345_ReadByte()

uint8_t ADXL345_ReadByte ( uint8_t  addr)

Definition at line 20 of file adxl345.c.

21{
22 ADXL345_CS = 0;
23 xbuf[0] = addr | 0x80;
24 xbuf[1] = 0xFF;
26 ADXL345_CS = 1;
27 return xbuf[1];
28}
uint8_t xbuf[3]
Definition: adxl345.c:18
#define ADXL345_CS
Definition: adxl345.h:20
void SPI_TxRxBytes(uint8_t *pBuf, uint8_t len)
Definition: fw_spi.c:28
uint8_t addr[8]
Definition: main.c:28

◆ ADXL345_ReadInt()

uint16_t ADXL345_ReadInt ( uint8_t  addr)

Definition at line 30 of file adxl345.c.

31{
32 ADXL345_CS = 0;
33 xbuf[0] = addr | 0xC0;
34 xbuf[1] = 0xFF;
35 xbuf[2] = 0xFF;
37 ADXL345_CS = 1;
38 return *((uint16_t *)&xbuf[1]);
39}
unsigned short uint16_t
Definition: fw_types.h:19

◆ ADXL345_RemapInterrupts()

void ADXL345_RemapInterrupts ( uint8_t  interrupts)

Remap interrupts to INT2 (default is INT1)

Definition at line 77 of file adxl345.c.

78{
80}
#define ADXL345_REG_INT_MAP
Definition: adxl345.h:49

◆ ADXL345_SetInterrupts()

void ADXL345_SetInterrupts ( uint8_t  interrupts)

Enable interrupts

Definition at line 72 of file adxl345.c.

73{
75}
#define ADXL345_REG_INT_ENABLE
Definition: adxl345.h:48

◆ ADXL345_WriteByte()

void ADXL345_WriteByte ( uint8_t  addr,
uint8_t  dat 
)

Definition at line 41 of file adxl345.c.

42{
43 ADXL345_CS = 0;
44 xbuf[0] = addr;
45 xbuf[1] = dat;
47 ADXL345_CS = 1;
48}
__CODE int8_t dat[20]

Variable Documentation

◆ xbuf

uint8_t xbuf[3]

Definition at line 18 of file adxl345.c.