ST公司三軸加速度計LIS3DH應用


本文主要介紹LIS3DH的運動檢測功能(Motion detection),一旦兩次加速度值的差值超過了設置閾值,相應的引腳就會產生中斷。

LIS3DH接口非常簡單,四線SPI接口。

LIS3DH上電需要等待大約5ms才能對其寄存器進行操作,否則可能達不到想要的結果。

寄存器配置如下:

spi_lis3dh_writebyte(0x3f,0x20);//CTRL_REG1  設置采樣頻率為25Hz,低功耗模式,開啟x,y,z軸檢測

spi_lis3dh_writebyte(0x09,0x21);//CTRL_REG2 正常模式,數據從內部濾波器到輸出寄存器,高通濾波器使能到中斷1

spi_lis3dh_writebyte(0x40,0x22);//CTRL_REG3 AOI中斷1使能

spi_lis3dh_writebyte(0x00,0x23);//CTRL_REG4 分辨率+/-2g 每位~16mg

spi_lis3dh_writebyte(0x08,0x24);//CTRL_REG5 中斷鎖存

spi_lis3dh_writebyte(0x10,0x32);//INT1_TH  =  16*16mg  設置中斷閾值

spi_lis3dh_writebyte(0x00,0x33);//INT_DURATION 中斷持續時間設置為0,因為已經設置中斷鎖存,所以中斷不會消失,直到手動清除中斷

 spi_lis3dh_readbyte(0x26);//reference  第一次虛讀reference寄存器,強制將高通濾波器的值加載到當前加速度值,從這時開始比較了。

spi_lis3dh_writebyte(0x2A,0x30);//INT1_CFG 使能中斷,中斷模式是中斷事件的‘OR’組合,這里只使能了x,y,z軸的高事件中斷。開始時這個寄存器沒理解清楚,把x,y,z軸的高低事件都使能了,導致一直有中斷。因為不是高就是低,肯定有中斷。

spi_lis3dh_readbyte(0x31);//當檢測到中斷后,清除中斷

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM