ADXL345

ADXL345 的概述以及 ADXL345 用OSS-ECAL的提供情况。ADXL345 是一款由 Analog Devices 生产的工业用三轴加速度传感器(±2 g、±4 g、±8 g、±16 g)。
MCU interface : I2C, SPI

注意: 本资源的原始语言为英语。 翻译仅为方便起见提供概要,可能使用了机器翻译,我们对翻译的准确性和合理性不作任何保证。 此外,在进行实际设计等操作前,请务必参考最新版本的Datasheet。

ADXL345

概述

ADXL345 是一款小型、超薄、超低功耗的 3 轴加速度计,具有高分辨率(13 位)测量功能,测量范围可达 ±16 g。数字输出数据以 16 位补码格式呈现,可通过 SPI(3 线或 4 线)或 I2C 数字接口进行访问。

ADXL345 非常适合移动设备应用。它可测量倾斜检测应用中的静态重力加速度,以及由运动或冲击引起的动态加速度。其高分辨率(3.9 mg/LSB)可实现小于 1.0° 的倾斜变化测量。

提供了几种特殊的传感功能。活动和非活动传感通过将任何轴上的加速度与用户设置的阈值进行比较,来检测运动的存在或缺失。轻触传感可检测任何方向上的单次和双次轻触。自由落体检测功能可检测设备是否处于下落状态。这些功能可分别映射至两个中断输出引脚中的任意一个。集成式内存管理系统配备32级先进先出(FIFO)缓冲区,可用于存储数据,从而减少主处理器活动并降低整体系统功耗。

低功耗模式支持基于运动的智能电源管理,通过阈值检测和主动加速度测量实现极低功耗。

ADXL345 采用小型、薄型、尺寸为 3 mm × 5 mm × 1 mm、14 引脚的塑料封装。

特点

  • 低功耗:VS = 2.5 V(典型值)时,测量模式下低至23 μA,待机模式下低至0.1 μA
  • 功耗随带宽自动按比例变化
  • 用户可选的分辨率
    – 10位固定分辨率
    – 全分辨率,分辨率随g范围提高而提高,±16 g时高达13位(在所有g范围内保持4 mg/LSB的比例系数)
  • 嵌入式存储器管理系统采用FIFO技术,可充分降低主机处理器负荷
  • 单振/双振检测
  • 活动/非活动监控
  • 自由落体检测
  • 电源电压范围:2.0 V至3.6 V
  • I/O电压范围:1.7 V至VS
  • SPI(3线式和4线式)和I2C数字接口
  • 灵活的中断模式,可映射到任一中断引脚
  • 通过串行命令可选测量范围
  • 通过串行命令可选带宽
  • 宽温度范围(-40°C至+85°C)
  • 抗冲击能力:10,000 g
  • 无铅/符合RoHS标准
  • 小而薄:3 mm × 5 mm × 1 mm LGA封装

用途

  • Handsets
  • 医疗器械
  • ADXL345-EP 支持国防和航空航天应用(AQEC)。

OSS-ECAL规格

API 函数

OSS-ECAL API 函数基本上被假定为周期性Thread (TASK) 的函数调用。

以下API函数支持I2C协议;若需SPI协议,请联系Analog Devices或您的电子元器件贸易公司以获取相关支持。

etSTS oADXL345_INIT ( void )

oADXL345_INIT 函数用于执行 ADXL345 的以下初始设置并切换至测量模式。请在 user_setting.h 文件中按照下表设置寄存器的初始值。

– Step1 Data Format Setting
– Step2 Data rate and power mode control Setting
– Step3 Offset-X, Offset-Y, Offset-Z compensation Setting
– Step4 Activity Detection Setting
– Step5 Inactivity Detection Setting
– Step6 Single Tap Setting
– Step7 Double Tap Setting
– Step8 Free-Fall Setting
– Step9 FIFO Setting Setting
– Step10 Interrupt Enable and Mapping Setting
– Step11 Measurement Mode Enable

Label NameRegisterTemporary initial value
DATA_FORMAT_INIDATA_FORMATbit7: SELF_TEST_EN = 0
bit6: SPI_MODE = 0
bit5: INT_INVERT = 0
bit4: RESERVED_BIT = 0
bit3: FULL_RES = 1
bit2: JUSTIFY_MODE = 0
bit1: RANGE_SEL1 = 1
bit0: RANGE_SEL0 = 0
BW_RATE_INIBW_RATEbit4: LOW_POWER_EN = 0
bit3: RATE_SEL3 = 1
bit2: RATE_SEL2 = 0
bit1: RATE_SEL1 = 1
bit0: RATE_SEL0 = 0
OFSX_INIOFSX [15.6 mg/LSB]0.0
OFSY_INIOFSY [15.6 mg/LSB]0.0
OFSZ_INIOFSZ [15.6 mg/LSB]0.0
THRESH_ACT_INITHRESH_ACT [62.5 mg/LSB]0.5
ACT_INACT_CTL_INIACT_INACT_CTLbit7: ACT_MODE = 0
bit6: ACT_X_EN = 1
bit5: ACT_Y_EN = 1
bit4: ACT_Z_EN = 1
bit3: INACT_MODE = 0
bit2: INACT_X_EN = 1
bit1: INACT_Y_EN = 1
bit0: INACT_Z_EN = 1
THRESH_INACT_INITHRESH_INACT [62.5 mg/LSB]0.2
TIME_INACT_INITIME_INACT [1 sec/LSB]5.0
THRESH_TAP_INITHRESH_TAP [62.5 mg/LSB]1.5
DUR_INIDUR [625 us/LSB]10.0
TAP_AXES_INITAP_AXESbit3: SUPPRESS_EN = 0
bit2: TAP_X_EN = 1
bit1: TAP_Y_EN = 1
bit0: TAP_Z_EN = 1
Latent_INILatent [1.25 ms/LSB]20.0
Window_INIWindow [1.25 ms/LSB]80.0
THRESH_FF_INITHRESH_FF [62.5 mg/LSB]0.375
TIME_FF_INITIME_FF [5 ms/LSB]300.0
FIFO_MODEFIFO_CTL bit7-bit6
Select from the following values.
iFIFO_BYPASS, iFIFO_FIFO, iFIFO_STREAM, iFIFO_TRIGGER
iFIFO_STREAM
FIFO_TRIGGERFIFO_CTL bit50
FIFO_SAMPLEFIFO_CTL bit4-bit016
INT_ENABLE_INIINT_ENABLEbit7: DATA_READY_EN = 1
bit6: SINGLE_TAP_EN = 0
bit5: DOUBLE_TAP_EN = 0
bit4: Activity_EN = 0
bit3: Inactivity_EN = 0
bit2: FREE_FALL_EN = 0
bit1: WATER_MARK_EN = 1
bit0: OVER_RUN_EN = 0
INT_MAP_INIINT_MAPbit7: DATA_READY_INT = 0
bit6: SINGLE_TAP_INT = 0
bit5: DOUBLE_TAP_INT = 0
bit4: Activity_INT = 0
bit3: Inactivity_INT = 0
bit2: FREE_FALL_INT = 0
bit1: WATER_MARK_INT = 0
bit0: OVER_RUN_INT = 0
MEASURE_MODEPOWER_CTL
Select from the following values.
iMEASURE, iSLEEP, iAUTO_SLEEP, iSTANDBY
iMEASURE
WAKEUP_FREQPOWER_CTL
Select from the following values.
1 = 1 Hz, 2 = 2 Hz, 4 = 4 Hz, 8 = 8 Hz
8
返回值etSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_I2C_OBJECTI2C 对象选择错误
eSTS_ERR_HAL_OTHERS_RUN其他应用程序正在运行 HAL
eSTS_ERR_HAL_I2CHAL I2C 错误
eSTS_ERR_PARAMETER如果以下值超出范围。
-2.0 g ≦ OFSX_INI ≦ 2.0 g
-2.0 g ≦ OFSY_INI ≦ 2.0 g
-2.0 g ≦ OFSZ_INI ≦ 2.0 g
0.0 g ≦ THRESH_ACT_INI ≦ 16 g
0.0 g ≦ THRESH_INACT_INI ≦ 16 g
0 sec ≦ TIME_INACT_INI ≦ 255 sec
0.0 g ≦ THRESH_TAP_INI ≦ 16 g
0 ms ≦ DUR_INI ≦ 159.375 ms
0 ms ≦ Latent_INI ≦ 318.75 ms
0 ms ≦ Window_INI ≦ 318.75 ms
0.0 g ≦ THRESH_FF_INI ≦ 16 g
0 ms ≦ TIME_FF_INI ≦ 1275 ms
1 ≦ FIFO_SAMPLE ≦ 31

当FIFO_MODE的值不是iFIFO_BYPASS、iFIFO_FIFO、iFIFO_STREAM或iFIFO_TRIGGER时。

MEASURE_MODE 值不为 iMEASURE、iSLEEP、iAUTO_SLEEP 或 iSTANDBY。

WAKEUP_FREQ 值不为 1、2、4 或 8。
etSTS oADXL345_WRITE_ACT( float32 thresh_act_g, uint8 act_ctl )

oADXL345_WRITE_ACT 函数是一个 API 函数,用于设置 ADXL345 加速度计检测活动状态的阈值和动作。

返回值etSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_I2C_OBJECTI2C 对象选择错误
eSTS_ERR_HAL_OTHERS_RUN其他应用程序正在运行 HAL
eSTS_ERR_HAL_I2CHAL I2C 错误
eSTS_ERR_PARAMETER如果以下值超出范围。
0.0 g ≦ thresh_act_g ≦ 16 g
参数 OUTfloat32 thresh_act_gRegister THRESH_ACT set value[62.5 mg/LSB]
uint8 act_ctlRegister ACT_INACT_CTL set valuebit7 ACT ac/dc
bit6 ACT_X enable
bit5 ACT_Y enable
bit4 ACT_Z enable
bit3 INACT ac/dc
bit2 INACT_X enable
bit1 INACT_Y enable
bit0 INACT_Z enable
etSTS oADXL345_WRITE_INACT( float32 thresh_inact_g, float32 time_inact_s, uint8 inact_ctl )

oADXL345_WRITE_INACT 函数是一个 API 函数,用于设置 ADXL345 加速度计检测无活动状态的阈值、时间和操作。

返回值etSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_I2C_OBJECTI2C 对象选择错误
eSTS_ERR_HAL_OTHERS_RUN其他应用程序正在运行 HAL
eSTS_ERR_HAL_I2CHAL I2C 错误
eSTS_ERR_PARAMETER如果以下值超出范围。
0.0 g ≦ thresh_inact_g ≦ 16 g
0 sec ≦ time_inact_s ≦ 255 sec
参数 INfloat32 thresh_inact_gRegister THRESH_INACT set value[62.5 mg/LSB]
float32 time_inact_sRegister TIME_INACT set value[1 sec/LSB]
uint8 inact_ctlRegister ACT_INACT_CTL set valuebit7 ACT ac/dc
bit6 ACT_X enable
bit5 ACT_Y enable
bit4 ACT_Z enable
bit3 INACT ac/dc
bit2 INACT_X enable
bit1 INACT_Y enable
bit0 INACT_Z enable
etSTS oADXL345_WRITE_ST( float32 thresh_g, float32 duration_ms, uint8 axis )

oADXL345_WRITE_ST 函数是一个 API 函数,用于设置 ADXL345 的单次触发检测功能。

返回值etSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_I2C_OBJECTI2C 对象选择错误
eSTS_ERR_HAL_OTHERS_RUN其他应用程序正在运行 HAL
eSTS_ERR_HAL_I2CHAL I2C 错误
eSTS_ERR_PARAMETER如果以下值超出范围。
0.0 g ≦ thresh_g ≦ 16 g
0 ms ≦ duration_ms ≦ 159.375 ms
参数 INfloat32 thresh_gRegister THRESH_TAP set value[62.5 mg/LSB]
float32 duration_msRegister DUR set value[625 us/LSB]
uint8 axisRegister TAP_AXES set valuebit3 Suppress
bit2 TAP_X enable
bit1 TAP_Y enable
bit0 TAP_Z enable
etSTS oADXL345_WRITE_DT( float32 thresh_g, float32 duration_ms, float32 latent_ms, float32 window_ms, uint8 axis )

oADXL345_WRITE_DT 函数是一个 API 函数,用于设置 ADXL345 的双击检测功能。

返回值etSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_I2C_OBJECTI2C 对象选择错误
eSTS_ERR_HAL_OTHERS_RUN其他应用程序正在运行 HAL
eSTS_ERR_HAL_I2CHAL I2C 错误
eSTS_ERR_PARAMETER如果以下值超出范围。
0.0 g ≦ thresh_g ≦ 16 g
0 ms ≦ duration_ms ≦ 159.375 ms
0 ms ≦ latent_ms ≦ 318.75 ms
0 ms ≦ window_ms ≦ 318.75 ms
参数 INfloat32 thresh_gRegister THRESH_TAP set value[62.5 mg/LSB]
float32 duration_msRegister DUR set value[625 us/LSB]
float32 latent_msRegister Latent set value[1.25 ms/LSB]
float32 window_msRegister Window set value[1.25 ms/LSB]
uint8 axisRegister TAP_AXES set valuebit3 Suppress
bit2 TAP_X enable
bit1 TAP_Y enable
bit0 TAP_Z enable
etSTS oADXL345_WRITE_FF( float32 thresh_mg, float32 time_ms )

oADXL345_WRITE_FF 函数是一个 API 函数,用于设置 ADXL345 的自由落体检测功能。

返回值etSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_I2C_OBJECTI2C 对象选择错误
eSTS_ERR_HAL_OTHERS_RUN其他应用程序正在运行 HAL
eSTS_ERR_HAL_I2CHAL I2C 错误
eSTS_ERR_PARAMETER如果以下值超出范围。
0.0 g ≦ thresh_g ≦ 16 g
0 ms ≦ time_ms ≦ 1275 ms
参数 INfloat32 thresh_gRegister THRESH_FF set value[62.5 mg/LSB]
float32 time_msRegister TIME_FF set value[5 ms/LSB]
etSTS oADXL345_WRITE_OFFSET( float32 offset_x_g, float32 offset_y_g, float32 offset_z_g )

oADXL345_WRITE_OFFSET 函数是一个 API 函数,用于设置 ADXL345 加速度计的 X 轴、Y 轴和 Z 轴的偏移量。

返回值etSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_I2C_OBJECTI2C 对象选择错误
eSTS_ERR_HAL_OTHERS_RUN其他应用程序正在运行 HAL
eSTS_ERR_HAL_I2CHAL I2C 错误
eSTS_ERR_PARAMETER如果以下值超出范围。
-2.0 g ≦ offset_x_g ≦ 2.0 g
-2.0 g ≦ offset_y_g ≦ 2.0 g
-2.0 g ≦ offset_z_g ≦ 2.0 g
参数 OUTfloat32 offset_x_gRegister OFSX set value[15.6 mg/LSB]
float32 offset_y_gRegister OFSY set value[15.6 mg/LSB]
float32 offset_z_gRegister OFSZ set value[15.6 mg/LSB]
etSTS oADXL345_WRITE_INT( uint8 int_enable_mask, uint8 int_map )

oADXL345_WRITE_INT 函数是一个用于设置 ADXL345 中断的 API 函数。

返回值etSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_I2C_OBJECTI2C 对象选择错误
eSTS_ERR_HAL_OTHERS_RUN其他应用程序正在运行 HAL
eSTS_ERR_HAL_I2CHAL I2C 错误
参数 INuint8 int_enable_maskRegister INT_ENABLE set valuebit7 DATA_READY
bit6 SINGLE_TAP
bit5 DOUBLE_TAP
bit4 Activity
bit3 Inactivity
bit2 FREE_FALL
bit1 Watermark
bit0 Overrun
uint8 int_mapRegister INT_MAP set valuebit7 DATA_READY
bit6 SINGLE_TAP
bit5 DOUBLE_TAP
bit4 Activity
bit3 Inactivity
bit2 FREE_FALL
bit1 Watermark
bit0 Overrun
etSTS oADXL345_WRITE_FIFO( uint8 fifo, uint8 samples, uint8 int_map )

oADXL345_WRITE_FIFO 函数是一个用于设置 ADXL345 FIFO 的 API 函数。

返回值etSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_I2C_OBJECTI2C 对象选择错误
eSTS_ERR_HAL_OTHERS_RUN其他应用程序正在运行 HAL
eSTS_ERR_HAL_I2CHAL I2C 错误
eSTS_ERR_PARAMETER如果以下值超出范围。
1 ≦ samples≦ 31

除了iFIFO_BYPASS、iFIFO_FIFO、
iFIFO_STREAM或iFIFO_TRIGGER之外的FIFO值。
参数 INuint8 fifoRegister FIFO_CTL set valuebit7-bit6 FIFO_MODE
从以下选项中选择。
iFIFO_BYPASS、iFIFO_FIFO、
iFIFO_STREAM、iFIFO_TRIGGER
uint8 samplesRegister FIFO_CTL set valuebit4-bit0 Samples 1 to 31
uint8 int_mapRegister INT_MAP set valuebit7 DATA_READY
bit6 SINGLE_TAP
bit5 DOUBLE_TAP
bit4 Activity
bit3 Inactivity
bit2 FREE_FALL
bit1 Watermark
bit0 Overrun
etSTS oADXL345_WRITE_MODE( uint8 mode, uint8 wakeup )

oADXL345_WRITE_MODE 函数是一个 API 函数,用于在 ADXL345 的测量模式、睡眠模式、自动睡眠模式和待机模式之间切换。

返回值etSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_I2C_OBJECTI2C 对象选择错误
eSTS_ERR_HAL_OTHERS_RUN其他应用程序正在运行 HAL
eSTS_ERR_HAL_I2CHAL I2C 错误
eSTS_ERR_PARAMETER模式值不为iMEASURE、iSLEEP、
iAUTO_SLEEP或iSTANDBY。

唤醒值不是1、2、4或8。
参数 INuint8 modeRegister POWER_CTL set valuebit4-bit2 Power mode
从以下选项中选择。
iAUTO_SLEEP, iMEASURE,
iSLEEP, iSTANDBY
uint8 wakeupRegister POWER_CTL set valuebit1-bit0 Wakeup
从以下选项中选择。
1, 2, 4, 8
etSTS oADXL345_READ_REG( uint8 adr, uint8* val )

oADXL345_READ_REG 函数是一个 API 函数,用于通过指定 ADXL345 寄存器地址读取寄存器值,并将读取的值存储在 val 中。

返回值etSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_I2C_OBJECTI2C 对象选择错误
eSTS_ERR_HAL_OTHERS_RUN其他应用程序正在运行 HAL
eSTS_ERR_HAL_I2CHAL I2C 错误
参数 INuint8 adrRegister address to be read
参数 OUTuint8* val将读取的寄存器值保存到变量 val 中。
etSTS oADXL345_READ_ACC( stACC* axis )

oADXL345_READ_ACC 函数首先读取 DATA_FORMAT 寄存器的值,然后从 DATAX0:DATAX1、DATAY0:DATAY1 和 DATAZ0:DATAZ1 寄存器中读取值。根据 DATA_FORMAT 寄存器中的范围设置,它将 X 轴值存储在 axis.acc_x 中,Y 轴值存储在 axis.acc_y 中,Z 轴值存储在 axis.acc_z 中。

返回值etSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_I2C_OBJECTI2C 对象选择错误
eSTS_ERR_HAL_OTHERS_RUN其他应用程序正在运行 HAL
eSTS_ERR_HAL_I2CHAL I2C 错误
参数 OUTstACC* axisDATAX0:DATAX1 is converted by Range and saved in axis.acc_x
DATAY0:DATAY1 is converted by Range and saved in axis.acc_y
DATAZ0:DATAZ1 is converted by Range and saved in axis.acc_z
[mg]
etSTS oADXL345_READ_ACC_FIFO( stACC* axis )

oADXL345_READ_ACC_FIFO 函数首先读取 DATA_FORMAT 寄存器的值,然后根据 FIFO 设置从 DATAX0:DATAX1、DATAY0:DATAY1 和 DATAZ0:DATAZ1 寄存器中读取值。随后,它根据 DATA_FORMAT 寄存器中的范围设置,将 X 轴值存储到 axis.acc_x,Y 轴值存储到 axis.acc_y,Z 轴值存储到 axis.acc_z。

Return valueetSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_I2C_OBJECTI2C 对象选择错误
eSTS_ERR_HAL_OTHERS_RUN其他应用程序正在运行 HAL
eSTS_ERR_HAL_I2CHAL I2C 错误
eSTS_ERR_DATA_STALE如果 FIFO_STATUS 条目数 > 32。
Parameter OUTstACC* axisDATAX0:DATAX1 is converted by Range and saved in axis.acc_x
DATAY0:DATAY1 is converted by Range and saved in axis.acc_y
DATAZ0:DATAZ1 is converted by Range and saved in axis.acc_z
[mg]
etSTS oADXL345_SELF_TEST_MODE( uint8 sw )

oADXL345_SELF_TEST_MODE 函数是一个 API 函数,用于启用或禁用 ADXL345 的自检模式。

Return valueetSTSOSS-ECAL status code
eSTS_FIN成功完成
eSTS_ERR_I2C_OBJECTI2C 对象选择错误
eSTS_ERR_HAL_OTHERS_RUN其他应用程序正在运行 HAL
eSTS_ERR_HAL_I2CHAL I2C 错误
Parameter INuint8 swSet value of SELF_TEST bit in Register DATA_FORMATsw = iON: Enable self-test mode
sw = iOFF: Disable self-test mode

Sample application

OSS-ECAL 在示例文件夹中包含了示例应用程序。以下是对该应用程序的概述。在将 OSS-ECAL 集成到您的产品程序时,请将其作为参考材料使用。

StatevgADXL345_COMMANDstate transition conditionProcess OverviewAPI Function
InitializeiADXL345_INITIALIZE1. First timeInitial Settings for ADXL345oADXL345_INIT
MeasureiADXL345_MEASUREMENT1. Initialize completed
2. vgADXL345_COMMAND=iADXL345_MEASUREMENT
-axis acceleration measurementoADXL345_READ_REG
Self-testiADXL345_SELF_TEST1. vgADXL345_COMMAND=iADXL345_SELF_TESTSelf-TestoADXL345_SELF_TEST_MODE
CalibrationiADXL345_CALIBRATION1. vgADXL345_COMMAND=iADXL345_CALIBRATIONCalibrationoADXL345_WRITE_OFFSET
oADXL345_WRITE_ST
oADXL345_WRITE_DT
oADXL345_WRITE_ACT
oADXL345_WRITE_INACT
oADXL345_WRITE_FF
Auto-SleepiADXL345_AUTO_SLEEP1. vgADXL345_COMMAND=iADXL345_AUTO_SLEEPAuto Sleep
ErroriADXL345_ERROR1. vgADXL345_COMMAND=iADXL345_ERRORError Handling*

HAL 支持列表

OSS-ECAL 的 HAL 支持如下。 请注意,即使使用相同的 HAL,不同的版本、MCU 和开发环境也可能无法协同工作。 该列表正在按顺序扩展。

ManufacturerSDK/IDE ToolHAL NameVerHALNAMESupport
ArduinoArduino IDEArduino1.8.6ARDUINOX
ArmKeil MDK v6Mbed OS6.17.0MBEDX
DebianGNU/Linux10.3LinuxX
InfineonModusToolboxmtb-hal-cat12.4.3ModusToolboxX
NXPMCUXpresso SDKSDK_2.x_EVKB-IMXRT10502.16iMXRT1051B1052B
RenesasSynergy Software PackageHAL2.6.0SSPX
STMicroelectronicsSTM32CubeSTM32CubeF4V1.28.1STM32F4X
开发环境

OSS-ECAL 开发过程中的 MCU 和开发环境如下。

HALNAMEManufacturerBoardMCUIDE
ARDUINOArduino1.Mega 2560 Rev3
2.Arduino Pro Mini 3.3V
ATmega2560
ATmega328P
Arduino IDE 2.3.3
MBEDSTMicroelectronicsSTM32 Nucleo-64 boardsSTM32F401RETxArm Keil Studio Cloud
LinuxBeagleBoardBeagleBone BlackTI AM335x
ModusToolboxInfineonCY8CPROTO-063-BLE PSoC 6 BLE Prototyping KitCYBLE-416045-02ModusToolbox
iMXRT1051B1052BNXPIMXRT1050-EVKBi.MX RT1050MCUXpresso IDE
SSPRenesasS7G2 SKR7FS7G27H3A01CFCe² studio for Renesas Synergy
STM32F4STMicroelectronicsSTM32 Nucleo-64 boardsSTM32F401RETxSTM32CubeIDE

文件结构

Folder*FileSummary
ADXL345_HALNAME_010000/samplesample.c (.cpp)Sample application program
sample.hSample application header
ADXL345_HALNAME_010000oADXL345.c (.cpp)OSS-ECAL program for ADXL345
oADXL345.hOSS-ECAL header for ADXL345
oss_ecal.hOSS-ECAL common header
ADXL345_ARDUINO.inoSample application programs for Arduino
user_setting.c (.cpp)User configured constants and tables
user_setting.hUser configuration Header
readme.mdReadme
OSS-ECAL Terms of Use.txtOSS-ECAL Terms of Use

* 有关 HALNAME,请参阅 HAL 支持。

OSS-ECAL 下载

请从 OSS-ECAL 英文网站下载 OSS-ECAL。下载时,请先登录 OSS-ECAL 英文网站,然后再进行操作。

内置方法

如何将 OSS-ECAL 纳入用户程序

如何在用户程序中整合多个 OSS-ECAL(相同的 MCU 功能)

如何在用户程序中整合多个 OSS-ECAL(不同 MCU 功能)

如何将多个相同的电子元件整合到一个用户程序中

如何通过更换电子元件减少对用户程序的影响

注意

OSS-ECAL 示例版本不适用于线程(任务)或不同优先级的中断。 请不要像下面的示例那样使用它。

例如 如果每个传感器被分配到相同的 ADC 组,而 OSS-ECAL API 在具有不同优先级的进程中执行,则可能无法获得正确的值。

ADC Gr0 Ch0 Temperature sensor AD22100A 每隔 100 毫秒采集一次温度(低优先级)
ADC Gr0 Ch1 Pressure sensor   MPX5999D 事件中断时采集压力(高优先级)

OSS-ECAL Chinese
error: 内容受保护 !