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

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

[复制链接]
jundao721 发布时间:2024-8-5 20:44
      这两天测试了一下板载的IIS2DH加速度传感器,这是一款低功耗的3轴加速度计,低功耗时能达到2uA,在工业领域广泛应用。从原理图上看,也是连接了SPI3接口,如图1所示:
% k. e! n8 N7 o( z/ ^9 n* B& R+ S2 D( w. e! V* f6 A5 v6 G
3-1.JPG & I* n) |& M7 u

! t' s. F) |* Z3 d7 G/ Y图1
2 b1 \& e% J2 S( T, e* @) l      除了INT2和CS引脚需要重新配置,其他的配置和上一篇是相同的,在CubeMx中很方便重新建立工程文件。想着测试应该是很顺利的,但是能读Device ID,不能读取数据,一度不知道什么原因。隔了一天发现,是CS引脚在程序中搞错了,很多问题往往都是粗心大意导致的。来看软件,初始定义还是参考官方的例程,库也是使用官方的,这样测试比较节省时间。- U+ r. S0 d/ J
初始化如下:$ f8 q. u, k6 N. o
  1. dev_ctx .write_reg = platform_write ;. L6 F7 f: n& j( d; J
  2.         dev_ctx  .read_reg = platform_read ;1 p4 M( |7 u+ ]' y  a
  3.         dev_ctx  .handle = &hspi3 ;
    3 E% d( j4 [( Q
  4.         HAL_Delay(10);, K, l. H! U' c1 Z: z; A& R& {% Z+ A
  5.        
    . k$ Q% Q% C5 Z5 D
  6. //        IIS2DH_ReadID(&Obj ,&whoamI);8 {9 Y) O1 Z: H% X/ m, y4 C
  7. iis2dh_device_id_get(&dev_ctx, &whoamI);
    1 @! z" `' ?" d" o6 x/ ^$ X
  8. //       
    # V$ N5 s- k  C6 m$ S. g
  9. //        IIS2DH_Init(&Obj);/ X4 Q: C4 H$ O# v; X" D1 n- [7 H1 ]

  10. + i2 T$ H3 }# l: N/ C
  11.         iis2dh_block_data_update_set(&dev_ctx , PROPERTY_ENABLE);0 T! s: _2 Y% s: i0 P  M( e, m
  12.         /* Set Output Data Rate to 1Hz */3 B1 A, Y( _& G: \
  13.   iis2dh_data_rate_set(&dev_ctx , IIS2DH_ODR_1Hz);
    ; F* d2 W" w  s8 ~" q* t
  14.   /* Set full scale to 2g */
    0 I: n* w6 y+ S  p0 s* W) F
  15.   iis2dh_full_scale_set(&dev_ctx , IIS2DH_2g);
    8 h5 m* N9 G" O4 Z9 l6 \
  16. //  /* Enable temperature sensor */' H8 w( u6 j, h- I- y+ t9 D
  17.   iis2dh_temperature_meas_set(&dev_ctx, IIS2DH_TEMP_ENABLE);
    2 a/ l. Q, f/ @9 ]
  18. //  /* Set device in continuous mode with 12 bit resol. */
    0 j/ }. a; j+ ]( K
  19.   iis2dh_operating_mode_set(&dev_ctx , IIS2DH_HR_12bit);
复制代码

9 U6 I- Z' n+ H$ t$ E# A
: A$ u+ U: _  Q% _3 R6 f% P读取加速度数据如下:& G1 T) A. ~% C3 R9 Q* q9 L
  1. iis2dh_xl_data_ready_get(&dev_ctx , &ddbyte );
    9 K) o4 t& T% P( _" @0 l: J/ \+ q
  2.          if(ddbyte )
    ) X* h( c4 h* [7 M! e; m5 x: E
  3.          {
    2 g! Q8 s* h; I, N0 U3 \: y0 Q3 v
  4.                  /* Read accelerometer data */
    : H4 q) l) i9 r
  5.       memset(data_raw_acceleration, 0x00, 3 * sizeof(int16_t));
    3 Q4 K2 C4 F  |$ I' S# g6 q
  6.                  
    4 |* e) b/ R) ]1 u6 U* m: `
  7.       iis2dh_acceleration_raw_get(&dev_ctx , data_raw_acceleration);
    ( r, a+ P$ G5 b, r8 Z7 d1 B! C
  8.                  
    7 B* E: r$ q3 L2 q& p
  9.       acceleration_mg[0] =iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[0]);$ m7 E) h9 s8 O: ]3 `
  10.                  
    6 K4 r' K& }- \: H
  11.       acceleration_mg[1] =iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[1]);
    9 I/ R& s% K. h/ ^" }% l8 r
  12.                  4 K+ F$ m8 m7 J+ v- c% B
  13.       acceleration_mg[2] = iis2dh_from_fs2_hr_to_mg(data_raw_acceleration[2]);2 B  Z+ v; L9 j* I6 K. {' }8 P; p
  14.          }
复制代码
/ v5 ?! W# _/ G! _1 s

5 R: ]* [1 o  e读取温度数据如下:
* E. p3 D( F% e. ?/ z4 z. J4 v  r, K+ X  L
iis2dh_temp_data_ready_get(&dev_ctx , &ddbyte );
+ X" r/ Q: a& ]# e8 s6 P& Z5 b$ a1 S7 u1 g5 J
    if (ddbyte)
; l: y4 e) q1 R1 i7 Q; j                        {2 Z* f& U. e+ ?  ]
      /* Read temperature data */) V* e7 l2 W3 W; }" {$ j% l% |1 V) F
      memset(&data_raw_temperature, 0x00, sizeof(int16_t));" y$ }" Z- T! u4 J
      iis2dh_temperature_raw_get(&dev_ctx, &data_raw_temperature);0 b: X; B; {7 a  u, ?/ H
      temperature_degC =iis2dh_from_lsb_hr_to_celsius(data_raw_temperature);
9 W  [' T  G: J, S1 I% R6 @, M                  }2 V3 r$ z2 Z. Y+ ?0 f
  U/ }6 e6 H7 _6 V1 N1 c9 A
测量结果如图2所示:. ~6 I7 f2 G4 Z
3-2.JPG 3 d1 V& g2 P' S/ s0 V0 F

! G1 J8 [; N- Q2 Q: @& x图2
' M: ?9 s4 j8 O/ q有一些功能还没测试,要深入学习才有所得。$ Y  s+ q  @# L( b  s
收藏 评论4 发布时间:2024-8-5 20:44

举报

4个回答
y369369 回答时间:2024-10-18 09:41:05
这个实际功耗能做到多少啊# ^$ E6 D) L; Q, j) u1 q' M
养乐多 回答时间: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 手机版