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

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

[复制链接]
jundao721 发布时间:2024-8-5 20:44
      这两天测试了一下板载的IIS2DH加速度传感器,这是一款低功耗的3轴加速度计,低功耗时能达到2uA,在工业领域广泛应用。从原理图上看,也是连接了SPI3接口,如图1所示:
2 C2 z8 O% y+ M" Z" S% Q- u' W) u% {0 @+ Q
3-1.JPG
; E: M) R: |0 R" U  j" J1 S0 G5 f3 `. d! P* y. X) U
图16 U3 o/ q* T' @9 F! I3 T7 G8 n
      除了INT2和CS引脚需要重新配置,其他的配置和上一篇是相同的,在CubeMx中很方便重新建立工程文件。想着测试应该是很顺利的,但是能读Device ID,不能读取数据,一度不知道什么原因。隔了一天发现,是CS引脚在程序中搞错了,很多问题往往都是粗心大意导致的。来看软件,初始定义还是参考官方的例程,库也是使用官方的,这样测试比较节省时间。' \! w6 Z/ n7 Y% z$ p- p& u& \( X" X
初始化如下:: Z& S' e' y3 L$ J0 v2 S
  1. dev_ctx .write_reg = platform_write ;* M1 r+ ^& a, p: S0 m) m# G3 Z9 s* t
  2.         dev_ctx  .read_reg = platform_read ;
    2 z- b) [6 f/ E: c8 }) f
  3.         dev_ctx  .handle = &hspi3 ;
    ; J  U; m: n" g. M# _
  4.         HAL_Delay(10);( F6 `# f. ~2 y5 E$ _
  5.        
    3 x  ^* o  d" O5 }0 y& o& q  a) u1 x
  6. //        IIS2DH_ReadID(&Obj ,&whoamI);
    9 \  n& N- p7 V8 [+ e0 [6 W; c. S
  7. iis2dh_device_id_get(&dev_ctx, &whoamI);8 m- c6 ~  z! w6 x
  8. //        , D4 ~% v6 e. ~+ Z8 S
  9. //        IIS2DH_Init(&Obj);9 m7 n; g  h2 H9 B% q" {5 c3 n
  10. " w  I1 k; `( W4 ]0 r' ]' `; y
  11.         iis2dh_block_data_update_set(&dev_ctx , PROPERTY_ENABLE);
    & L  t9 F+ D6 Y# V; m
  12.         /* Set Output Data Rate to 1Hz */
    ; @2 o- J# D) V+ q  E
  13.   iis2dh_data_rate_set(&dev_ctx , IIS2DH_ODR_1Hz);% v+ x- p" ~/ ?2 H  p
  14.   /* Set full scale to 2g */3 g: J1 K5 Z# n
  15.   iis2dh_full_scale_set(&dev_ctx , IIS2DH_2g);" I- M2 S% R" |  I
  16. //  /* Enable temperature sensor */2 R2 H- T& W  y  S+ T; [
  17.   iis2dh_temperature_meas_set(&dev_ctx, IIS2DH_TEMP_ENABLE);
    8 ?* Z( W1 `* {% q5 d
  18. //  /* Set device in continuous mode with 12 bit resol. */
    $ r: N, `/ \  @7 }2 ]$ f5 n
  19.   iis2dh_operating_mode_set(&dev_ctx , IIS2DH_HR_12bit);
复制代码
& _& ~, z2 O- A0 J2 o0 A
* \5 T9 M8 V3 P1 z. x8 q* b$ \
读取加速度数据如下:! ^7 G! w% d% v; h
  1. iis2dh_xl_data_ready_get(&dev_ctx , &ddbyte );5 L! \4 ]& @' G: {; E+ m
  2.          if(ddbyte )0 H. \/ y: O7 H( W# m
  3.          {: x4 ~6 T! b) {& f
  4.                  /* Read accelerometer data */
    $ R! {) \: }. q  b
  5.       memset(data_raw_acceleration, 0x00, 3 * sizeof(int16_t));9 j, w1 G6 f3 }
  6.                  
    , e" W0 J# N5 G6 I
  7.       iis2dh_acceleration_raw_get(&dev_ctx , data_raw_acceleration);" F# {1 `5 f# n+ q* q  W( c2 W% ?: m
  8.                  
    - R- O6 z, C9 d* G
  9.       acceleration_mg[0] =iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[0]);% {$ k+ ]+ C+ N8 Y+ d! L
  10.                  
    1 w# r1 O1 e) D( Q* \& E
  11.       acceleration_mg[1] =iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[1]);: u! B( ]- O5 a# g4 E
  12.                  1 g! q) L) w7 M* m# M1 ?/ f- Y) C
  13.       acceleration_mg[2] = iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[2]);; l+ y" T: S0 c+ ^" Z, T% x5 k
  14.          }
复制代码

. Y& T* y* t0 [+ W/ \. ^. v. ~; \, j' t# q; _- ?! p' R- @/ O
读取温度数据如下:& E5 v, ?* \2 n; v! I8 ?. m( \7 e
, a; x( M6 p" q& J  D! P" Y+ [
iis2dh_temp_data_ready_get(&dev_ctx , &ddbyte );2 X9 b, D" g* l" S9 t: \: a

, f7 ]! D  {9 h% K+ f8 c    if (ddbyte) 2 P& Q# O' O2 X8 r% s& a$ N
                        {, \" c* S! l# e" K0 ]9 y8 r7 O# D
      /* Read temperature data */) F- O6 n  c) U. S# Y2 [. r* p
      memset(&data_raw_temperature, 0x00, sizeof(int16_t));8 I5 R; ]* n" x- i8 i5 a
      iis2dh_temperature_raw_get(&dev_ctx, &data_raw_temperature);
" E* h2 [  b3 @5 u, g7 v      temperature_degC =iis2dh_from_lsb_hr_to_celsius(data_raw_temperature);
- O; h3 e$ H' a, p. I2 I% L# J                  }
( f% M1 s/ r3 @) W! q( K# i. p2 N
测量结果如图2所示:
- v, h( |( Z2 U8 z/ |6 c& h 3-2.JPG
" R9 u% q. U4 x9 q% Q0 I+ i/ r4 [0 e
图2
: ~" y2 s# b# |; O9 h% Y6 S! O有一些功能还没测试,要深入学习才有所得。
% P# ^+ c# C6 [/ y* N' l: D
赞 收藏 评论4 发布时间:2024-8-5 20:44

举报

4个回答
y369369 回答时间:2024-10-18 09:41:05
这个实际功耗能做到多少啊
% v* g8 l7 Q' P7 z) V
养乐多 回答时间: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 手机版