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

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

[复制链接]
jundao721 发布时间:2024-8-5 20:44
      这两天测试了一下板载的IIS2DH加速度传感器,这是一款低功耗的3轴加速度计,低功耗时能达到2uA,在工业领域广泛应用。从原理图上看,也是连接了SPI3接口,如图1所示:
& g0 D- G# k+ Z& f7 @1 W2 }4 q: [5 z, k5 Z% @
3-1.JPG
& F' k( g. M+ {+ A3 s; m+ Y: f+ Q" p4 w; e3 Q( `: e. H
图1
- R8 p. C: |8 J9 u, d, J      除了INT2和CS引脚需要重新配置,其他的配置和上一篇是相同的,在CubeMx中很方便重新建立工程文件。想着测试应该是很顺利的,但是能读Device ID,不能读取数据,一度不知道什么原因。隔了一天发现,是CS引脚在程序中搞错了,很多问题往往都是粗心大意导致的。来看软件,初始定义还是参考官方的例程,库也是使用官方的,这样测试比较节省时间。
* A5 b/ X! b5 x6 R& p/ b初始化如下:
! [! B# z% y, x: _; q. _, p6 Q
  1. dev_ctx .write_reg = platform_write ;
    9 x! w* q! \% T3 p3 \5 K
  2.         dev_ctx  .read_reg = platform_read ;
    ( c8 Q% J  G! A  W  ?; N
  3.         dev_ctx  .handle = &hspi3 ;
    ; J& @" L1 M" b9 l6 c1 J
  4.         HAL_Delay(10);8 F0 N- g+ C) t1 O4 y; V- C
  5.         ! ^/ G; X9 v) @8 `
  6. //        IIS2DH_ReadID(&Obj ,&whoamI);
    - {1 |( J4 t0 I7 F
  7. iis2dh_device_id_get(&dev_ctx, &whoamI);
    & g8 L3 Z4 g/ f' L2 g* [: o: a
  8. //       
    . l) {( e" E- @# b5 W
  9. //        IIS2DH_Init(&Obj);0 P3 \1 C* J- v
  10. % M4 I5 t& f, \& ~# p8 x4 J
  11.         iis2dh_block_data_update_set(&dev_ctx , PROPERTY_ENABLE);
    9 D- |/ n3 j* Z
  12.         /* Set Output Data Rate to 1Hz */  U2 X: R) N( {5 \# i
  13.   iis2dh_data_rate_set(&dev_ctx , IIS2DH_ODR_1Hz);
    & @# S* @: L  g( E5 q$ }
  14.   /* Set full scale to 2g */4 f7 ~# F$ z& u- q% t8 v
  15.   iis2dh_full_scale_set(&dev_ctx , IIS2DH_2g);* i# F/ P5 h$ t6 g2 y1 p
  16. //  /* Enable temperature sensor */: j: n( y$ D+ o* m5 M( q, I
  17.   iis2dh_temperature_meas_set(&dev_ctx, IIS2DH_TEMP_ENABLE);6 x9 y# m1 l  H8 E
  18. //  /* Set device in continuous mode with 12 bit resol. */
    ' F+ w' Y4 \9 t
  19.   iis2dh_operating_mode_set(&dev_ctx , IIS2DH_HR_12bit);
复制代码
( O# ~  }6 m9 n* E

7 d1 \0 b) \" O9 ~& Y4 m读取加速度数据如下:
# [( z8 t" k3 C5 C* X
  1. iis2dh_xl_data_ready_get(&dev_ctx , &ddbyte );
    0 Q  D8 J5 f: A+ Q" t9 X- I
  2.          if(ddbyte )
    + u& S. \& a" B* R* F/ D4 O9 `
  3.          {
    ' a0 u3 B8 F( X$ [3 J8 l
  4.                  /* Read accelerometer data */
    # G$ M$ p9 L/ M% W' r
  5.       memset(data_raw_acceleration, 0x00, 3 * sizeof(int16_t));
    8 ]0 M2 }: I$ I9 F. |5 U
  6.                    D' g+ m0 ]' [$ Q7 Q
  7.       iis2dh_acceleration_raw_get(&dev_ctx , data_raw_acceleration);
    . u: s4 G! w, G
  8.                  
    - }2 E  X5 k9 a: o, f+ i4 Z% ]
  9.       acceleration_mg[0] =iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[0]);. T  h8 w$ {0 e  L) Z# t
  10.                  5 V/ |# v. _, k& m! p
  11.       acceleration_mg[1] =iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[1]);7 f* |8 ?- V. U1 K* z6 i, l
  12.                  # w# X, g# O% e) b' p* u  A# C
  13.       acceleration_mg[2] = iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[2]);5 w8 k0 g" A: ?/ f
  14.          }
复制代码

1 p4 c/ r% k& v4 q' P, y
6 i* P2 o- R4 W* @( G3 o( U$ M! {读取温度数据如下:
- W3 Y! z# ]/ }' X$ O/ Q
+ B- M1 T0 N1 Ziis2dh_temp_data_ready_get(&dev_ctx , &ddbyte );
) U$ R# E" H8 P' p( [
  f8 j& R0 ^/ F6 F5 N    if (ddbyte)
  w$ ~, j; I) n% z" q                        {
3 S& j' s5 E+ j/ \5 `      /* Read temperature data */
) n  ]4 i! \* N  s  q      memset(&data_raw_temperature, 0x00, sizeof(int16_t));
( u0 a& z+ D, l4 j5 I6 ^) T/ o      iis2dh_temperature_raw_get(&dev_ctx, &data_raw_temperature);
# w: F" ^" O8 @0 C* P( e$ i7 ?      temperature_degC =iis2dh_from_lsb_hr_to_celsius(data_raw_temperature);2 ?/ {* S! ]$ I8 U+ l9 M& Y4 s
                  }  i  t) ~' N4 ?6 {
. D& {* {- Q+ |* U- D% a$ c3 G- h
测量结果如图2所示:
7 o  e! D# z  O0 P2 t- Y 3-2.JPG ( o7 ~( {) @2 H8 y; x

: q9 i" Q6 S- }+ p7 y3 h图2
3 r" i8 G6 H" v4 o有一些功能还没测试,要深入学习才有所得。
- `- N0 g/ q3 n8 N/ L
收藏 评论4 发布时间:2024-8-5 20:44

举报

4个回答
y369369 回答时间:2024-10-18 09:41:05
这个实际功耗能做到多少啊
; N2 R' a% W" M* M9 q
养乐多 回答时间: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 手机版