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

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

[复制链接]
jundao721 发布时间:2024-8-5 20:44
      这两天测试了一下板载的IIS2DH加速度传感器,这是一款低功耗的3轴加速度计,低功耗时能达到2uA,在工业领域广泛应用。从原理图上看,也是连接了SPI3接口,如图1所示:
- E$ u4 e1 w' M
% C- D$ T/ X# w/ C. a% G* n 3-1.JPG
. k- N1 y9 Y& a8 Z
% l4 P2 a* V; j# s; K3 F图1- j2 K) T# s) a0 j
      除了INT2和CS引脚需要重新配置,其他的配置和上一篇是相同的,在CubeMx中很方便重新建立工程文件。想着测试应该是很顺利的,但是能读Device ID,不能读取数据,一度不知道什么原因。隔了一天发现,是CS引脚在程序中搞错了,很多问题往往都是粗心大意导致的。来看软件,初始定义还是参考官方的例程,库也是使用官方的,这样测试比较节省时间。' s- y! |% p, ~/ l) K! f8 S/ F- C
初始化如下:
! Q7 ^8 q$ q& ]8 h& r6 s
  1. dev_ctx .write_reg = platform_write ;
    ! i( v. ?6 R7 ~7 o6 L
  2.         dev_ctx  .read_reg = platform_read ;) P# R" {3 T; S" c
  3.         dev_ctx  .handle = &hspi3 ;# x$ \0 }, V  L- q9 ]+ S8 N* x
  4.         HAL_Delay(10);
    ( l. t! O' R7 p. {# D
  5.        
    . }" c! }4 h) `6 U
  6. //        IIS2DH_ReadID(&Obj ,&whoamI);
    . v! K2 `, L4 A! i
  7. iis2dh_device_id_get(&dev_ctx, &whoamI);
    2 B+ c4 r8 O# M$ \
  8. //        1 Z! {; J. @$ x& @$ Z
  9. //        IIS2DH_Init(&Obj);
    ( v- N, W: q  a  m% V

  10. $ O6 V) T# q; N, H* c/ K
  11.         iis2dh_block_data_update_set(&dev_ctx , PROPERTY_ENABLE);& b0 Z+ s; r+ B% |1 V5 m
  12.         /* Set Output Data Rate to 1Hz */
    0 u$ |/ D7 K- {/ |3 V
  13.   iis2dh_data_rate_set(&dev_ctx , IIS2DH_ODR_1Hz);
    2 b' u% h: d2 Q9 ?! w
  14.   /* Set full scale to 2g */  A5 n# O! W% \' T& h
  15.   iis2dh_full_scale_set(&dev_ctx , IIS2DH_2g);3 T: W8 v' V% `) }
  16. //  /* Enable temperature sensor */
    5 S1 M, ~- H% Z$ z  l4 u% f- c& U
  17.   iis2dh_temperature_meas_set(&dev_ctx, IIS2DH_TEMP_ENABLE);
    - Q! F5 Y" |) F( ^
  18. //  /* Set device in continuous mode with 12 bit resol. */
      m  F5 N( h5 k; E6 S
  19.   iis2dh_operating_mode_set(&dev_ctx , IIS2DH_HR_12bit);
复制代码
% C4 n+ C8 o+ m8 w- M# t1 W
# M5 _# R! r/ }" ^) J7 Z: [
读取加速度数据如下:
3 c, D, D. ~* M9 j+ n
  1. iis2dh_xl_data_ready_get(&dev_ctx , &ddbyte );0 s$ R% Q! C) |" v3 i+ P4 O
  2.          if(ddbyte )! U( U. }( v* @, R2 C
  3.          {; G# _5 G9 Y7 w3 t. M
  4.                  /* Read accelerometer data */1 U, Q3 h4 F9 {2 i1 k) c- U* }3 B
  5.       memset(data_raw_acceleration, 0x00, 3 * sizeof(int16_t));
    + o, W  w5 J. D
  6.                  : Y! _& F; |1 I' j, T
  7.       iis2dh_acceleration_raw_get(&dev_ctx , data_raw_acceleration);
    : p( B5 Y. z# V4 k# r% |
  8.                  
    % }/ |8 v  D( s! i/ C" V6 Y/ {
  9.       acceleration_mg[0] =iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[0]);
    : |' R4 J% G  b0 }
  10.                  - r( a2 ]  B$ r6 I5 ?
  11.       acceleration_mg[1] =iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[1]);
    . R% p6 U' t* P+ ]1 Q4 W
  12.                  
    ) j2 c. z( Q. O; F  C  L
  13.       acceleration_mg[2] = iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[2]);4 J$ `; \1 H4 S% B# u
  14.          }
复制代码
5 f, _0 Z1 S* V; \, B
/ i* V' W1 j! Z3 ^: ?& b
读取温度数据如下:1 p! |  H& A9 H: V+ D0 B+ [
  w  J3 U. X, `, b6 J
iis2dh_temp_data_ready_get(&dev_ctx , &ddbyte );: g' m9 A* i/ m" k" F+ K

, N. O. z, Y, H    if (ddbyte)
2 G4 P- _5 Z- l                        {0 K. n# |5 E9 |8 E# t* F, a2 @* K3 n
      /* Read temperature data */
1 j) Q- Q! w5 Z      memset(&data_raw_temperature, 0x00, sizeof(int16_t));* l) Q+ p& Y4 I, c& _
      iis2dh_temperature_raw_get(&dev_ctx, &data_raw_temperature);. {/ Y. [# ~9 Q- m5 h9 i6 e
      temperature_degC =iis2dh_from_lsb_hr_to_celsius(data_raw_temperature);5 J+ p! Y& x6 b: x0 |
                  }
" C' K. [- q5 l. o) F, Q
! l$ |+ h$ i8 k测量结果如图2所示:- ^3 _8 P1 F2 }* |- Y8 R
3-2.JPG
* X' z  v# z4 _- R) ]: ~+ x+ X+ p
- A; y: M: G0 Q# e0 }2 B图2( i1 R/ I6 k$ d$ X* o4 j& O( t: L4 f
有一些功能还没测试,要深入学习才有所得。9 z4 J  u: w' v2 C3 K2 m) d
赞 收藏 评论4 发布时间:2024-8-5 20:44

举报

4个回答
y369369 回答时间:2024-10-18 09:41:05
这个实际功耗能做到多少啊/ Y! Z, S" B. x- ~1 g( r
养乐多 回答时间: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 手机版