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

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

[复制链接]
jundao721 发布时间:2024-8-5 20:44
      这两天测试了一下板载的IIS2DH加速度传感器,这是一款低功耗的3轴加速度计,低功耗时能达到2uA,在工业领域广泛应用。从原理图上看,也是连接了SPI3接口,如图1所示:  g- k* H- _' \. G7 M9 p; N

& T, U& F4 @7 _2 y: D3 _- V. y: h 3-1.JPG ' Z' n, g- \1 S; ^! @* _

8 N8 h2 Z& c* e' q图1/ a+ h5 I- P$ S9 `
      除了INT2和CS引脚需要重新配置,其他的配置和上一篇是相同的,在CubeMx中很方便重新建立工程文件。想着测试应该是很顺利的,但是能读Device ID,不能读取数据,一度不知道什么原因。隔了一天发现,是CS引脚在程序中搞错了,很多问题往往都是粗心大意导致的。来看软件,初始定义还是参考官方的例程,库也是使用官方的,这样测试比较节省时间。
/ z$ y& b3 a+ W, [初始化如下:9 T$ y" X, b) P* L
  1. dev_ctx .write_reg = platform_write ;
    ) n' }# d% j5 I* N2 @+ `
  2.         dev_ctx  .read_reg = platform_read ;2 r6 H* ?) S# X
  3.         dev_ctx  .handle = &hspi3 ;! s1 C. p  i6 y9 c( H
  4.         HAL_Delay(10);
    1 D# T& H5 S3 e1 s3 I  s# t6 M
  5.         3 E; U1 T8 r! A9 G" G# @, X! _# ^
  6. //        IIS2DH_ReadID(&Obj ,&whoamI);
    / S! f$ @2 A: T5 k, L/ D
  7. iis2dh_device_id_get(&dev_ctx, &whoamI);0 r; D1 T% B7 X3 c5 m
  8. //       
    # e. v9 ~, |  P5 ^% ]  i- ?
  9. //        IIS2DH_Init(&Obj);. H/ B& |0 \+ O
  10.   K; n! d; r1 `8 E5 W
  11.         iis2dh_block_data_update_set(&dev_ctx , PROPERTY_ENABLE);
    . {- p- i3 r& b6 o$ _* y) x* _
  12.         /* Set Output Data Rate to 1Hz */
    ) U7 k* e. o& Z7 n& L1 A
  13.   iis2dh_data_rate_set(&dev_ctx , IIS2DH_ODR_1Hz);
    6 p, R2 g( W4 J: {9 D
  14.   /* Set full scale to 2g */4 S: C) z& G; z* v
  15.   iis2dh_full_scale_set(&dev_ctx , IIS2DH_2g);" \. v: g7 v* V$ R8 ~
  16. //  /* Enable temperature sensor */
    0 F& D; \# K  p& {, I2 K
  17.   iis2dh_temperature_meas_set(&dev_ctx, IIS2DH_TEMP_ENABLE);
    , z! S4 o0 {/ K+ ?8 r5 h! }* m- l. h" A
  18. //  /* Set device in continuous mode with 12 bit resol. */
    ' F8 R, Z7 R) {4 n* [: X
  19.   iis2dh_operating_mode_set(&dev_ctx , IIS2DH_HR_12bit);
复制代码

; v4 X. U) y1 y5 z) h  S& ]
( b! s+ v! g- l7 l8 Q读取加速度数据如下:/ E. c, I2 |5 i
  1. iis2dh_xl_data_ready_get(&dev_ctx , &ddbyte );9 X; f8 ~( @6 U' m, X" d- o
  2.          if(ddbyte )
    7 X4 [$ G5 `" J( N" j
  3.          {4 Y4 G$ e& A2 W
  4.                  /* Read accelerometer data */2 \2 z& T: ?6 z) ]
  5.       memset(data_raw_acceleration, 0x00, 3 * sizeof(int16_t));
    ( b; r6 D  A  v, u
  6.                  
    8 Z6 l$ x. v2 M  O
  7.       iis2dh_acceleration_raw_get(&dev_ctx , data_raw_acceleration);* N7 H8 m5 r8 F) y& _. t; d
  8.                  
    * h% N7 m7 W  j& U$ J
  9.       acceleration_mg[0] =iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[0]);" v( O6 y; {/ I: z2 n
  10.                  # n; M) m7 e  U/ r8 E; X
  11.       acceleration_mg[1] =iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[1]);" ]' V5 c9 O* Q3 B1 {$ v& \
  12.                  
    : |  W4 E# H9 Z
  13.       acceleration_mg[2] = iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[2]);
    ; t8 z. C- y/ @7 r4 ]
  14.          }
复制代码

" N- Z: |) H4 `. X" D" D, G
$ v3 i8 r# W0 u  s* q! F读取温度数据如下:# e) \, ^( W/ S  q- I' B7 [) }

5 q& e* i1 f4 q9 }  Fiis2dh_temp_data_ready_get(&dev_ctx , &ddbyte );
/ @- P4 G+ E8 ?# Q! E% W; n8 d: @- _  a7 W9 i, p7 u4 @
    if (ddbyte) 0 A+ F* W% h. O$ `8 j8 F% f
                        {
" R" }0 J- N7 n  @% ^      /* Read temperature data */- N! P' w5 D. ~0 a
      memset(&data_raw_temperature, 0x00, sizeof(int16_t));
% ]" ^1 e" \1 @' A* y  R  C5 r  |      iis2dh_temperature_raw_get(&dev_ctx, &data_raw_temperature);
" E! c! V  n7 L* R( q4 J      temperature_degC =iis2dh_from_lsb_hr_to_celsius(data_raw_temperature);* z! C! _7 x4 R
                  }
/ g, Q" V# @0 |# h" g( a: a) t. Y
, z  ^; ~5 c. j$ E; g/ C测量结果如图2所示:" e  X& K8 N6 K- y- I
3-2.JPG
$ U, r5 u, Q) J. E0 m9 J& M$ j' V& X. T! I( Y
图2* h" A0 o8 Z0 N: B" G
有一些功能还没测试,要深入学习才有所得。  e! e, X5 u( O+ d$ p7 @
收藏 评论4 发布时间:2024-8-5 20:44

举报

4个回答
y369369 回答时间:2024-10-18 09:41:05
这个实际功耗能做到多少啊
5 ^) r$ e0 l  I
养乐多 回答时间: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管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版