簡體   English   中英

從MMA7455L傳感器i2c獲取數據

[英]Getting data from MMA7455L sensor i2c

我已成功連接MMA-7455L傳感器,並且正在從中獲取數據。 盡管我有一個問題,是否有人可以幫助我。

有人可以幫助我理解這段代碼嗎? 我用來獲取數據的。

i2cbuf[1] = 0x00;
HAL_I2C_Master_Receive(&hi2c1, 0x1D<<1, &i2cbuf[1], 6, 10);

ax = -(i2cbuf[1]<<8 | i2cbuf[2]);
ay = -(i2cbuf[3]<<8 | i2cbuf[4]);
az = -(i2cbuf[5]<<8 | i2cbuf[6]);

我正在獲取數據,出口在8位。 我知道我將兩個8位響應合並為一個16位響應。 但是我不明白的是減號部分。

先感謝您

我的猜測是,返回的值是16位帶符號整數( int16_t ),因此您將獲得從-32767到0到+32767的讀數。 誰使用您正在使用的加速度計示例代碼設計電路板,都希望這些值能以電路板的正常方向正確讀取,因此結果取反

例如-(i2cbuf[1]<<8 | i2cbuf[2]); 如果兩個i2c值都為0xFF,則得到0xFFFF,即為-1(如果類型為int16)

取而代之,您將獲得+1,這應表示應用程序正加速運行

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM