ST意法半导体
直播中

王琰

7年用户 195经验值
私信 关注
[问答]

lsm303dlhc***计算问题

嗨,我遇到了lsm303dlhc的加速度计算问题


我读取寄存器并通过它们,但在x,y,z变量中包含疯狂的值,如果表格上有demoboard,则值必须为x:0,y:0,z:1000,但我得到x:-1499 y: -1499 z:4992。范围+ -2g。如果我有来自寄存器的值,请描述以m / s ^ 2计算加速度的过程

以上来自于谷歌翻译


以下为原文




Hi, I faced with the problem of acceleration  calculations on lsm303dlhc


I read registers and past them, but in x, y, z variables contain crazy values, if demoboard is on the table, values must be x: 0, y: 0, z: 1000, but i get x: -1499 y : -1499 z: 4992. Range +-2g. Please, describe process of calculating acceleration in m/s^2 if i have values from registers

  • 01.

  • int8_t buffer[6];

  • 02.

  • uint8_t aTxBuffer[8];

  • 03.

  • int16_t pnRawData[3];

  • 04.


  • 05.

  • while
  • (1)

  • 06.



  • {

  • 07.




  • 08.


  • 09.



  • HAL_I2C_Mem_Read(&hi2c1, 0x32, 0x28 , 1, (uint8_t*)&aTxBuffer[0], 1, 1);

  • 10.



  • HAL_I2C_Mem_Read(&hi2c1, 0x32, 0x29 , 1, (uint8_t*)&aTxBuffer[1], 1, 1);

  • 11.



  • HAL_I2C_Mem_Read(&hi2c1, 0x32, 0x2A , 1, (uint8_t*)&aTxBuffer[2], 1, 1);

  • 12.



  • HAL_I2C_Mem_Read(&hi2c1, 0x32, 0x2B , 1, (uint8_t*)&aTxBuffer[3], 1, 1);

  • 13.



  • HAL_I2C_Mem_Read(&hi2c1, 0x32, 0x2C , 1, (uint8_t*)&aTxBuffer[4], 1, 1);

  • 14.



  • HAL_I2C_Mem_Read(&hi2c1, 0x32, 0x2D , 1, (uint8_t*)&aTxBuffer[5], 1, 1);

  • 15.




  • 16.




  • 17.



  • for
  • (
  • int
  • i=0; i<3; i++)

  • 18.



  • {

  • 19.



  • pnRawData=((int16_t)((uint16_t)aTxBuffer[2*i+1] << 8) + aTxBuffer[2*i]);


  • 20.



  • }

  • 21.

  • ////////////////////////////////////////////////////////////////////////////////////

  • 22.




  • 23.

  • int16_t x = pnRawData[0];

  • 24.

  • int16_t y = pnRawData[1];

  • 25.

  • int16_t z = pnRawData[2];

  • 26.

  • }

回帖(1)

曾玲娟

2018-11-14 17:24:40
你的计算似乎是正确的。
 
你能分享传感器设置吗?
您得到的值是否恒定(x:-1499 y:-1499 z:4992)或变化?
 
最好的祝福
米罗斯拉夫

以上来自于谷歌翻译


以下为原文





Your calculation seems to be correct.

Can you please share the sensor settings?
Are the values which you get constant (x: -1499 y : -1499 z: 4992) or vary?

Best regards
Miroslav
举报

更多回帖

发帖
×
20
完善资料,
赚取积分