你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STWINKT1B评测】3.读写IIS2DH加速度传感器

[复制链接]
jundao721 发布时间:2024-8-5 20:44
      这两天测试了一下板载的IIS2DH加速度传感器,这是一款低功耗的3轴加速度计,低功耗时能达到2uA,在工业领域广泛应用。从原理图上看,也是连接了SPI3接口,如图1所示:& Y6 L/ s* F8 \8 H% g9 w
* V1 \. b3 X- z0 p2 i) v8 d; f8 ~
3-1.JPG
$ a# B$ v' E+ \
! }5 i2 p5 O6 b; L6 U' e: J3 k0 l图1
. W% }, m  K  A) C: h. n      除了INT2和CS引脚需要重新配置,其他的配置和上一篇是相同的,在CubeMx中很方便重新建立工程文件。想着测试应该是很顺利的,但是能读Device ID,不能读取数据,一度不知道什么原因。隔了一天发现,是CS引脚在程序中搞错了,很多问题往往都是粗心大意导致的。来看软件,初始定义还是参考官方的例程,库也是使用官方的,这样测试比较节省时间。+ n& P" t2 P3 L$ v9 |3 c' \
初始化如下:
9 y& l' }( r) `0 @/ C
  1. dev_ctx .write_reg = platform_write ;1 B! Q' c! I$ L: [  V- J) \) Z: m
  2.         dev_ctx  .read_reg = platform_read ;' Z; A# m& z* Z% z. T1 l
  3.         dev_ctx  .handle = &hspi3 ;0 Q; Z6 I# J8 }, V# x# f* Q: ~0 ]
  4.         HAL_Delay(10);) D' y8 g- }6 w) T3 J4 _9 M" b  j
  5.        
    ( A9 i/ s, x: r2 H- r
  6. //        IIS2DH_ReadID(&Obj ,&whoamI);
    & E& @8 M6 j4 ]+ V& p" j/ x/ o
  7. iis2dh_device_id_get(&dev_ctx, &whoamI);3 B, r- N* X3 V6 g: d( f$ z
  8. //       
    0 [9 z! W6 W& h$ Z9 p
  9. //        IIS2DH_Init(&Obj);
    , [5 A- G( k% m" R' g
  10. * r% Q6 U# a6 j* x3 C% o
  11.         iis2dh_block_data_update_set(&dev_ctx , PROPERTY_ENABLE);
    $ s; V: X+ K" u: L8 E
  12.         /* Set Output Data Rate to 1Hz */
    # t( P0 E/ }2 V
  13.   iis2dh_data_rate_set(&dev_ctx , IIS2DH_ODR_1Hz);, C1 ?: S6 O! j
  14.   /* Set full scale to 2g */1 t: Q6 B: z1 C! y9 P4 {$ N
  15.   iis2dh_full_scale_set(&dev_ctx , IIS2DH_2g);
    % S( y' z# V  o  k! _3 f" Y
  16. //  /* Enable temperature sensor */* S3 m+ W4 A7 B8 O* ?' j
  17.   iis2dh_temperature_meas_set(&dev_ctx, IIS2DH_TEMP_ENABLE);
    1 O/ ]& p& M7 F$ c; E3 Y: j4 z
  18. //  /* Set device in continuous mode with 12 bit resol. */3 i/ O: I. c" }% J' n& A
  19.   iis2dh_operating_mode_set(&dev_ctx , IIS2DH_HR_12bit);
复制代码

* p0 Y& K# ?  u, S
1 h& q7 V$ j5 E( `2 T: X9 w读取加速度数据如下:4 N2 G  ]6 _( @8 F- u
  1. iis2dh_xl_data_ready_get(&dev_ctx , &ddbyte );% H+ K) |+ r7 D
  2.          if(ddbyte )$ U$ T' k& D0 G2 b) x& ?2 ~
  3.          {
    ) O, e+ y) Q5 O8 b% V$ e& c; @
  4.                  /* Read accelerometer data */: F+ {9 w& T& J5 r7 H
  5.       memset(data_raw_acceleration, 0x00, 3 * sizeof(int16_t));
    4 N/ F+ S/ q( _+ J
  6.                  + @; T. T4 E  S% }: i3 p2 {
  7.       iis2dh_acceleration_raw_get(&dev_ctx , data_raw_acceleration);0 G" t. i" R1 \  H) ?# P9 ]
  8.                  2 g2 V' e# l6 L
  9.       acceleration_mg[0] =iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[0]);1 D1 L: y( H6 t
  10.                  # I8 j1 {9 q. u, r/ C0 Z" @
  11.       acceleration_mg[1] =iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[1]);
    $ O, L" M: u, `- m4 _' G! X4 N
  12.                  
    : N$ T5 Z0 w( c
  13.       acceleration_mg[2] = iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[2]);4 c3 |! Q1 `( f+ R
  14.          }
复制代码

/ H2 K- U2 `4 v; A3 w" B+ Q4 g: r+ i" F8 N$ v9 r
读取温度数据如下:4 I2 J. w7 O" M) u7 Y) ^
  s6 [' h. m. \5 k) K+ V
iis2dh_temp_data_ready_get(&dev_ctx , &ddbyte );
9 f* G+ p1 ~1 q: k3 u+ q0 T7 D& E& V. g
    if (ddbyte)
+ U& _! K9 }5 ?- d' B                        {
; a* R; T+ n0 V) r7 L4 H  M5 i0 Q      /* Read temperature data */
9 T8 m) q, ~% V* C      memset(&data_raw_temperature, 0x00, sizeof(int16_t));
' _! D, W3 \6 m+ y& ^. b0 U      iis2dh_temperature_raw_get(&dev_ctx, &data_raw_temperature);( T9 E1 W# [3 K7 A; Y, V$ s( U
      temperature_degC =iis2dh_from_lsb_hr_to_celsius(data_raw_temperature);: V- z3 O9 L9 a* W7 U
                  }
2 t) t3 h& a* Y: j3 ^! @5 x! e/ P& M2 a" ?# k- q7 @
测量结果如图2所示:
2 h$ F) [; N  f. U, |; | 3-2.JPG
3 r, _5 H, q  Z- S  v. a5 I0 B* I" I/ _7 C
图28 x$ R. T+ S4 z1 t( n0 _' L
有一些功能还没测试,要深入学习才有所得。  K) E4 A: ^: n5 L1 A
收藏 评论4 发布时间:2024-8-5 20:44

举报

4个回答
y369369 回答时间:2024-10-18 09:41:05
这个实际功耗能做到多少啊
# Z6 Z8 \: v! _+ E9 ]; M1 z! A
养乐多 回答时间:2024-10-18 10:14:48
可以多测测其他的
embiied 回答时间:2024-10-18 10:35:55

y369369 发表于 2024-10-18 09:41
这个实际功耗能做到多少啊

這個時候測功耗意義不大吧

ghost110 回答时间:2024-10-18 10:37:12

共同学习

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版